Skip to content

ci(publish): embed Apple kernel archives into the Apple klibs; kernel matrix native-cinterop tier (#959) - #964

Merged
michalharakal merged 1 commit into
developfrom
feature/ios-kernel-publish-matrix-959
Aug 11, 2026
Merged

michalharakal merged 1 commit into
developfrom
feature/ios-kernel-publish-matrix-959

Conversation

@michalharakal

Copy link
Copy Markdown
Contributor

Second of two PRs for #959 (iOS kernel track of #920). Stacked on #962 (which is stacked on #961) — becomes a one-commit diff as those merge.

  • publish.yml: the macos-14 build-native leg builds the three Apple archives via the feat(backend-native-cpu): iOS/macOS Kotlin/Native targets with embedded kernel archives (#959) #962 Gradle lanes, asserts sdot is present with objdump (clang only warns on an unknown target-feature string, so a typo'd target("dotprod") attribute would otherwise ship silently-scalar archives), and uploads them fail-loud as native-static-apple. The publish job test -f-verifies all three and injects -PskainetKernelsIosArm64Dir / -PskainetKernelsIosSimulatorArm64Dir / -PskainetKernelsMacosArm64Dir — the same verified-artifact-or-fail contract as the Linux ELF archives (ci(publish): build & publish the skainet-backend-jni-cpu AAR on release (#946) #947 precedent: the YAML is only fully provable at the next tag; the fail-loud gates are the mitigation).
  • Kernel support matrix: new native-cinterop tier (priority 100, Native·linux + Native·apple, Q8_0/Q4_0/Q4_K/Q5_K/Q6_K/Q5_0/Q5_1 — exactly what NativeKnKernelProvider wires). This also fixes the Native·linux column, which has been under-reported as scalar since the cinterop provider landed. Regenerated adoc included.
  • Docs: eager-backends mindmap bullet updated (K/N packed-quant is now a ✅ with the manual installNativeKernels() contract spelled out); installNativeKernels() KDoc documents Apple availability, the A12 dispatch fallback, and the Accelerate coexistence (disjoint formats).

Verified: jvmTest green (matrix test + JSON regen), generateKernelMatrix output committed.

@github-actions

Copy link
Copy Markdown

📖 Documentation Preview

The documentation has been built successfully for this PR.

Generated Files:

  • Operator documentation: docs/modules/operators/_generated_/
  • JSON schema output: operators.json

Artifacts:

  • Download the documentation-preview-964 artifact to view the complete documentation locally.

This comment will be updated automatically when the PR is updated.

@michalharakal
michalharakal requested a review from aharakal August 11, 2026 11:41
aharakal
aharakal previously approved these changes Aug 11, 2026
@michalharakal
michalharakal dismissed aharakal’s stale review August 11, 2026 14:55

The merge-base changed after approval.

@michalharakal
michalharakal requested a review from aharakal August 11, 2026 14:57
aharakal
aharakal previously approved these changes Aug 11, 2026
@michalharakal
michalharakal dismissed aharakal’s stale review August 11, 2026 15:00

The merge-base changed after approval.

@michalharakal
michalharakal force-pushed the feature/ios-kernel-publish-matrix-959 branch from d680c5d to c48ede6 Compare August 11, 2026 15:10
@github-actions

Copy link
Copy Markdown

📖 Documentation Preview

The documentation has been built successfully for this PR.

Generated Files:

  • Operator documentation: docs/modules/operators/_generated_/
  • JSON schema output: operators.json

Artifacts:

  • Download the documentation-preview-964 artifact to view the complete documentation locally.

This comment will be updated automatically when the PR is updated.

@michalharakal
michalharakal requested a review from aharakal August 11, 2026 16:05
aharakal
aharakal previously approved these changes Aug 11, 2026
@michalharakal
michalharakal dismissed aharakal’s stale review August 11, 2026 16:05

The merge-base changed after approval.

… matrix native-cinterop tier (#959)

publish.yml: the macos build-native leg builds the three Mach-O static
archives (device/simulator/macos) with an nm/objdump sdot assertion —
clang treats an unknown target-feature string as a warning, so a typo'd
dispatch attribute (#958) would otherwise ship silently scalar — uploads
them fail-loud as native-static-apple, and the publish job verifies and
injects them via -PskainetKernels{IosArm64,IosSimulatorArm64,MacosArm64}Dir,
the same verified-artifact-or-fail contract as the Linux ELF archives.

Kernel support matrix: new native-cinterop tier (priority 100,
Native·linux + Native·apple, the 7 packed-quant formats). Native·linux
was under-reported as scalar — NativeKnKernelProvider has served it
since the cinterop embedding landed. Narrative doc + KDoc now state the
manual installNativeKernels() contract and the Apple A12 fallback.

Refs #920
@github-actions

Copy link
Copy Markdown

📖 Documentation Preview

The documentation has been built successfully for this PR.

Generated Files:

  • Operator documentation: docs/modules/operators/_generated_/
  • JSON schema output: operators.json

Artifacts:

  • Download the documentation-preview-964 artifact to view the complete documentation locally.

This comment will be updated automatically when the PR is updated.

@michalharakal
michalharakal requested a review from aharakal August 11, 2026 16:57
@michalharakal
michalharakal merged commit adef54d into develop Aug 11, 2026
18 checks passed
@michalharakal
michalharakal deleted the feature/ios-kernel-publish-matrix-959 branch August 11, 2026 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants