Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Schedule on Android: verify CoroutineSchedule on ART and measure scheduled SDPA on device

Abierto
#1,277 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
android, kotlin

Línea de trabajo

Read the Schedule getting started documentation, the Android DirectCpuExecutionContext() actual, and the related issues #1196, #1259, #1262, and #1266. First establish which default schedule Android resolves to, then run the requested [20, 1500, 64] SDPA comparison on a physical arm64 device and add an androidTest in skainet-backend-jni-cpu or skainet-backend-cpu. Done means the docs report measured numbers and the tests demonstrate bit-identity, with no deadlock or oversubscription.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

compute-backend runtime skill:android

Context

0.54.0 introduced Schedule (SKEEP-005): scaledDotProductAttention runs its (batch, head) units on the context's schedule, and the JVM default is CoroutineSchedule.hardware(). The changelog describes the JVM behaviour and the CI deadlock fix (#1262, #1266); nothing states what the Android compilation resolves to.

An encoder-style workload (Whisper: 20 heads × 1500 frames, prefill-shaped, not decode-shaped) is exactly where head-level parallelism pays, and Android big.LITTLE cores make the pool sizing non-obvious (#1196 documented that sleeping pools lose to one pegged big core for sub-millisecond bursts).

Scope

  • State and test what DirectCpuExecutionContext() uses as its default Schedule on Android (androidMain actual, or the JVM one via the shared source set?).
  • Run the SDPA schedule on a physical arm64 device with prefill shapes ([20, 1500, 64]) and record speedup vs Schedule.Sequential, on big cores only vs all cores.
  • Decide whether the JNI row-threading pool (skainet_row_threads, spin-then-park) and CoroutineSchedule should coexist per op or whether one should own the cores on Android; document the choice.
  • TraceEvent.ScheduleDowngraded visible on Android when a requested schedule is not honoured.
  • An androidTest in skainet-backend-jni-cpu (or skainet-backend-cpu) that exercises a scheduled SDPA on device and asserts bit-identity with sequential.

Acceptance

  • The docs' "Schedule getting started" page has an Android paragraph with measured numbers.
  • No deadlock or oversubscription when a scheduled op runs inside a JNI-threaded matmul region and vice versa.

Related

  • #1259, #1262, #1266 — Schedule introduction and the CI deadlock
  • #1196 — threaded packed matmuls and the pool design notes
Lenguaje dominante
Kotlin
Estrellas
52
Forks
15
Merge medio
1 d 4 h
PR fusionados (30 d)
37

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de SKaiNET-developers/SKaiNET

Todos los issues de SKaiNET-developers/SKaiNET

Issues similares

Más issues de Kotlin

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.