Validate kllama Apple native-kernel fix (PR #315) on real iOS/macOS hardware
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ó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- kotlin
- Lĩnh vực
- mobile-dev, performance
Hướng nghiên cứu
The remaining work is a before/after packed-quant matmul throughput comparison on real Apple hardware; the issue does not name a benchmark file or command. First read PR #315 and the engine’s #958/#959 performance results, then locate the benchmark entry point. Record comparable results for the old stub and the fix on an Apple Silicon device; simulator or compile results alone do not meet the stated goal.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Context
PR #315 fixed llm-runtime/kllama's PlatformNativeKernels.ios.kt/.macos.kt,
which were stale no-op stubs — both cited SKaiNET#959 as "not shipped yet" when
it had in fact shipped, meaning kllama's registerPlatformBackends() facade
was silently leaving packed-quant matmul on the scalar floor on iOS and macOS,
despite the engine's native-cinterop NEON/Accelerate kernels being built and
available.
The fix itself (calling installNativeKernels(), mirroring linuxMain's
actual) was written and reviewed, but could not be compiled or run in the
session that produced it — that environment was Linux only, and Kotlin/Native
requires a macOS host to compile Apple targets at all. Verification there was
limited to code review and cross-target compilation (jvm/linuxX64/android/js).
What needs a Mac
-
./gradlew :llm-runtime:kllama:compileKotlinIosArm64 :llm-runtime:kllama:compileKotlinIosSimulatorArm64 :llm-runtime:kllama:compileKotlinMacosArm64— confirm the fix actually compiles (theinstallNativeKernels()import/call was written against the API but never type-checked on an Apple target). Update: it did not compile as originally written —implementation(libs.skainet.backend.nativeCpu)was still scoped tolinuxMainonly, notnativeMain, somacosMain/iosMainnever got the dependency. Fixed in PR #315 commit9bb3707; all three Apple targets now compile. - At runtime, confirm
KernelRegistry.bestAvailable()?.name(or equivalent) reportsnative-cinteropon iOS/macOS afterregisterPlatformBackends()runs, notscalar. Confirmed viaKernelRegistry.availableNames()on bothmacosArm64TestandiosSimulatorArm64Test: reports[native-cinterop]. - A real before/after comparison: packed-quant matmul throughput with the old no-op stub vs. the fix, on an actual Apple Silicon device/simulator — the engine's own NEON/cinterop work (#958/#959) reported real numbers on Android-equivalent hardware; this fix has none yet for Apple.
- Run kllama's existing test suite on
iosSimulatorArm64Test/macosArm64Test(both currently skip on CI/Linux —kotlin.native.ignoreDisabledTargets). Both green, including the cross-targetSmolLm2InferenceSpike(commonTest).
Related
- Fixed by #315
- Exercised end-to-end by SKaiNET-examples'
KernelRacesample — see SKaiNET-examples#33, which needs this issue resolved before its iOS build shows real NEON acceleration instead of scalar.
Good fit for whoever on the team has a Mac + Xcode handy — no deep kernel-SPI knowledge needed, mostly "build it, run it, check the numbers." Remaining: real-device throughput numbers (needs physical hardware time, not just simulator/compile verification).
- Ngôn ngữ chính
- Kotlin
- Star
- 8
- Fork
- 3
- Merge trung bình
- 1 ngày 20 giờ
- Pull request đã merge (30 ngày)
- 44
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của SKaiNET-developers/SKaiNET-transformers
-
documentation good first issue size:xs skill:docs sub-issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
SKaiNET-developers/SKaiNET-transformers#478 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement skill:kotlin-core
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
SKaiNET-developers/SKaiNET-transformers#502 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
SKaiNET-developers/SKaiNET-transformers#483 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
coding good first issue size:s skill:kotlin-core sub-issue
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 64/100
SKaiNET-developers/SKaiNET-transformers#477 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
coding good first issue size:s skill:numerics sub-issue
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
SKaiNET-developers/SKaiNET-transformers#476 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của SKaiNET-developers/SKaiNET-transformers
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
SimonHalvdansson/Harmonic-HN#399 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
[Request] 李跳跳Đang mởrequest-adaption
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 78/100
BetterAndroid/android-notification-icon-project#799 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
ProdigyV21/ARVIO#832 ·
Maintainer thường phản hồi trong vòng 1 ngày