Schedule on Android: verify CoroutineSchedule on ART and measure scheduled SDPA on device
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
- Área
- mobile, performance
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
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 defaultScheduleon Android (androidMainactual, 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 vsSchedule.Sequential, on big cores only vs all cores. - Decide whether the JNI row-threading pool (
skainet_row_threads, spin-then-park) andCoroutineScheduleshould coexist per op or whether one should own the cores on Android; document the choice. -
TraceEvent.ScheduleDowngradedvisible on Android when a requested schedule is not honoured. - An
androidTestinskainet-backend-jni-cpu(orskainet-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
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de SKaiNET-developers/SKaiNET
-
coding good first issue platform size:xs skill:js sub-issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
SKaiNET-developers/SKaiNET#1232 ·
Los mantenedores suelen responder en 1 día
-
compute-backend dsl/api enhancement size:m skill:kotlin-core skill:numerics
Dificultad 5/5 Más de una semana Aptitud para principiantes 18/100
SKaiNET-developers/SKaiNET#1343 ·
Los mantenedores suelen responder en 1 día
-
skeep tracking
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
SKaiNET-developers/SKaiNET#1331 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
assessment size:s skill:review sub-issue
Dificultad 4/5 1-2 días Aptitud para principiantes 18/100
SKaiNET-developers/SKaiNET#1330 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue size:s skill:docs sub-issue
Dificultad 3/5 1-2 días Aptitud para principiantes 78/100
SKaiNET-developers/SKaiNET#1329 ·
Los mantenedores suelen responder en 1 día
Todos los issues de SKaiNET-developers/SKaiNET
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
SLNE-Development/surf-chat#134 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100