Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#1,277 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
android, kotlin
Lĩnh vực
mobile, performance

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
Ngôn ngữ chính
Kotlin
Star
52
Fork
15
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
37

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của SKaiNET-developers/SKaiNET

Tất cả issue của SKaiNET-developers/SKaiNET

Issue tương tự

Thêm issue về Kotlin

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.