Validate kllama Apple native-kernel fix (PR #315) on real iOS/macOS hardware
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- kotlin
- Ambito
- mobile-dev, performance
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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).
- Lingua principale
- Kotlin
- Stelle
- 8
- Fork
- 3
- Merge medio
- 19h 45m
- PR unite (30g)
- 38
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di SKaiNET-developers/SKaiNET-transformers
-
documentation good first issue size:xs skill:docs sub-issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
SKaiNET-developers/SKaiNET-transformers#478 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
SKaiNET-developers/SKaiNET-transformers#483 ·
I maintainer di solito rispondono entro 1 giorno
-
coding good first issue size:s skill:kotlin-core sub-issue
Difficoltà 4/5 1-2 giorni Idoneità per principianti 64/100
SKaiNET-developers/SKaiNET-transformers#477 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
coding good first issue size:s skill:numerics sub-issue
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
SKaiNET-developers/SKaiNET-transformers#476 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
moonshine stream: the final encoder window is zero-padded and the encoder has no attention maskAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
SKaiNET-developers/SKaiNET-transformers#458 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di SKaiNET-developers/SKaiNET-transformers
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PostHog/posthog-kmp#100 ·
I maintainer di solito rispondono entro 2 giorni
-
Feature request
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
keiyoushi/extensions-source#20102 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
"Check mod" buttonApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
yairm210/Unciv#15803 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement triaged
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 63/100
I maintainer di solito rispondono entro 1 giorno