Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions GloVeEmbeddings/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[versions]
# Keep in step with the Kotlin version SKaiNET is built with: SKaiNET 0.62.1 ships
# Keep in step with the Kotlin version SKaiNET is built with: SKaiNET 0.62.2 ships
# klibs compiled with Kotlin 2.4.21 (readable by 2.4.10); an older compiler line cannot read them
# (JS/wasm fail with "Symbol for Any not found").
kotlin = "2.4.10"
# SKaiNET BOM version — published to Maven Central. The BOM pins every
# sk.ainet.core:* artifact so individual libraries are declared without versions.
skainet = "0.62.1"
skainet = "0.62.2"

# Compose Multiplatform + Android. Must match the shared :skainet-ui design
# system (included build) exactly: a mismatched Compose pulls two Skiko
Expand Down
2 changes: 1 addition & 1 deletion GloVeEmbeddings/settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pluginManagement {

dependencyResolutionManagement {
repositories {
// Resolve everything from Maven Central (SKaiNET 0.62.1 is published there).
// Resolve everything from Maven Central (SKaiNET 0.62.2 is published there).
// No mavenLocal: an unrestricted mavenLocal is consulted first and can contain
// a partial kotlin-stdlib (JVM jar + POM, no klib variants) that shadows
// Central's variant-aware metadata, breaking JS/wasm with "Missing stdlib class".
Expand Down
2 changes: 1 addition & 1 deletion IrisDemo/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
skainet = "0.62.1"
skainet = "0.62.2"
kotlin = "2.4.10"
kotlinx-coroutines = "1.10.2"
kotlinx-io = "0.8.2"
Expand Down
5 changes: 3 additions & 2 deletions KernelRace/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ kotlinxIo = "0.9.1"
# its jvmMain), so the iOS download path talks to Ktor's Darwin engine on its own.
ktorClientCore = "3.5.2"
# SKaiNET-transformers 0.63.0 is built against engine 0.62.x (0.62.1 fixes the native packed-kernel
# bindings the Q8_0 lane uses on the desktop JVM); keep the two pins
# bindings the Q8_0 lane uses on the desktop JVM, 0.62.2 runs the dense FP32 kernel on every core and
# on AVX2); keep the two pins
# moving together (the transformers release notes name the engine version).
skainet = "0.62.1"
skainet = "0.62.2"
skainet-transformers = "0.63.0"

[libraries]
Expand Down
2 changes: 1 addition & 1 deletion KllamaDemo/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ kotlinxIo = "0.9.0"
ktor = "3.4.0"
logback = "1.5.29"
material3 = "1.10.0-alpha05"
skainet = "0.62.1"
skainet = "0.62.2"
skainet-transformers = "0.63.0"

[libraries]
Expand Down
9 changes: 7 additions & 2 deletions LayaMoE/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ The first run downloads about 1.05 GB (the base checkpoint, 843 MB F16, and two
LAYAMOE_LANE=q8 ./gradlew :composeApp:run # packed Q8_0 lane, less memory, same answers to within quantization noise
```

> The Q8_0 lane on the desktop JVM needs SKaiNET 0.62.1 (the pin here): on 0.62.0 the native FFM bindings
> The Q8_0 lane on the desktop JVM needs SKaiNET 0.62.1 or later (the pin here is 0.62.2): on 0.62.0 the native FFM bindings
> of the Q8_0 / Q4_0 / Q5_0 / Q5_1 kernels zeroed every row but the last of a multi-row product, so a Laya
> request on that lane answered every question with uniform probabilities. Found while building this
> example, fixed in SKaiNET 0.62.1 (PR #1436). The FP32 lane was unaffected, and so was the browser's
Expand Down Expand Up @@ -126,6 +126,11 @@ about 1 min 50 s after "Load model" on a cached visit and about 3 min 30 s on th
answers exactly like the desktop within quantization noise: destructive 67.2 % (FP32: 65.1 %),
needs_human 21.7 % (23.3 %), risk 2.12 (2.11), routed to `safety` at 0.746 on `agent_action`.

**Desktop, FP32 lane on SKaiNET 0.62.2** (same machine, 2026-10-24): the same preset answers in 6.5 s per request
(three questions plus the router, 370 tokens; 6495 / 6469 / 6424 ms over three repetitions after a warm-up) against
13.0 s on 0.62.1. The engine's dense FP32 `x · Wᵀ` kernel, two thirds of a request, now runs on every core and, on
x86-64, on AVX2/FMA; routing and answers are unchanged.

**Desktop, Q8_0 lane** (same machine, SKaiNET 0.62.1): the "drop a production table" preset
answers like the FP32 lane within quantization noise (destructive 67.2 %, needs_human 21.7 %, risk 2.12 —
the browser's Q8_0 figures to the digit) but takes 25.3 s per request against 13.0 s on FP32: on the eager
Expand Down Expand Up @@ -154,7 +159,7 @@ LayaMoE/
└── THIRD_PARTY_LICENSES/
```

Library pieces this example rests on (SKaiNET-transformers 0.63.0, SKaiNET 0.62.1):
Library pieces this example rests on (SKaiNET-transformers 0.63.0, SKaiNET 0.62.2):
`LayaModelLoader` (common, any `RandomAccessSource`), `LayaExpertLoader` / `LayaExpert`,
`LayaRouterSpec`, `LayaMixtureAgent`, `LayaMixtureDecisionAdapter` for the typed decision
runtime, `LayaWeightForms.q8_0For` for the packed lane, `JsBlobRandomAccessSource.openSync`
Expand Down
5 changes: 3 additions & 2 deletions LayaMoE/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@ kotlinx-coroutines = "1.11.0"
kotlinxIo = "0.9.1"
kotlinxSerialization = "1.11.0"
kotlinxBrowser = "0.5.0"
# Engine 0.62.1 (0.62.0 + the native packed-kernel binding fix): Blob sources with worker-side blocking reads, PlannerProfile.BROWSER, the fused
# Engine 0.62.2 (0.62.1 + the dense FP32 x·Wᵀ kernel on every core and, on x86-64, on AVX2/FMA; 0.62.1 fixed the
# native packed-kernel bindings): Blob sources with worker-side blocking reads, PlannerProfile.BROWSER, the fused
# SIMD128 / FFM kernels and skainet-data-source on the web. Transformers 0.63.0: Laya expert heads,
# the prompted router and the mixture adapter (LayaExpertLoader, LayaMixtureAgent).
skainet = "0.62.1"
skainet = "0.62.2"
skainet-transformers = "0.63.0"

[libraries]
Expand Down
2 changes: 1 addition & 1 deletion MNISTDemo/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ kotlin = "2.4.10"
kotlinx-coroutines = "1.10.2"
ktor = "3.1.3"
logback = "1.5.18"
skainet = "0.62.1"
skainet = "0.62.2"
kotlinxIo = "0.8.2"
ktorClientCore = "3.3.3"
ktorClientPlugins = "3.1.1"
Expand Down
2 changes: 1 addition & 1 deletion MnistJavaDemo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ A CLI MNIST digit detector written in Java 21, demonstrating JVM interoperabilit
## Prerequisites

- **Java 21+** (with preview features)
- **SKaiNET 0.62.1** -- resolved directly from Maven Central, no local publish needed
- **SKaiNET 0.62.2** -- resolved directly from Maven Central, no local publish needed
- **GGUF model file** -- a trained MNIST CNN model in GGUF format

## Usage
Expand Down
2 changes: 1 addition & 1 deletion MnistJavaDemo/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
skainet = "0.62.1"
skainet = "0.62.2"
kotlin = "2.4.10"
kotlinx-coroutines = "1.10.2"
kotlinx-io = "0.8.2"
Expand Down
4 changes: 2 additions & 2 deletions SemanticEmojiFilter/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ androidx-lifecycle = "2.11.0"
# UnsatisfiedLinkError (getAdapterMaxTextureSize) at first render on macOS/Metal.
composeMultiplatform = "1.11.1"
# At least the engine's Kotlin: the SIMD128 sidecar uses kotlin.wasm.unsafe.wasmMemory and an older
# Kotlin/Wasm linker fails on it (engine 0.62.1 is built with 2.4.21).
# Kotlin/Wasm linker fails on it (engine 0.62.2 is built with 2.4.21).
kotlin = "2.4.21"
kotlinx-coroutines = "1.11.0"
kotlinxIo = "0.9.1"
Expand All @@ -23,7 +23,7 @@ kotlinxSerialization = "1.11.0"
# 0.61.0 makes the Laya loader common code and adds the packed Q8_0 lane, opt-in; 0.63.0 on engine
# 0.62.x adds Laya expert heads and routing, unused here, and rides on the fused SIMD128 kernels the
# web verifier runs on).
skainet = "0.62.1"
skainet = "0.62.2"
skainet-transformers = "0.63.0"

[libraries]
Expand Down
2 changes: 1 addition & 1 deletion SinusApproximator/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ kotlin = "2.4.10"
kotlinx-coroutines = "1.10.2"
ktor = "3.1.3"
logback = "1.5.18"
skainet = "0.62.1"
skainet = "0.62.2"
kotlinxIo = "0.8.2"

[libraries]
Expand Down
4 changes: 2 additions & 2 deletions TDALab/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[versions]
# Keep in step with the Kotlin version SKaiNET is built with: SKaiNET 0.62.1 ships
# Keep in step with the Kotlin version SKaiNET is built with: SKaiNET 0.62.2 ships
# klibs compiled with Kotlin 2.4.21 (readable by 2.4.10); an older compiler line cannot read them
# (JS/wasm fail with "Symbol for Any not found").
kotlin = "2.4.10"
# SKaiNET BOM version — published to Maven Central. The BOM pins every
# sk.ainet.core:* artifact so individual libraries are declared without versions.
skainet = "0.62.1"
skainet = "0.62.2"

# Compose Multiplatform + Android. Must match the shared :skainet-ui design
# system (included build) exactly: a mismatched Compose pulls two Skiko
Expand Down
2 changes: 1 addition & 1 deletion TDALab/settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pluginManagement {

dependencyResolutionManagement {
repositories {
// Resolve everything from Maven Central (SKaiNET 0.62.1 is published there).
// Resolve everything from Maven Central (SKaiNET 0.62.2 is published there).
// No mavenLocal: an unrestricted mavenLocal is consulted first and can contain
// a partial kotlin-stdlib (JVM jar + POM, no klib variants) that shadows
// Central's variant-aware metadata, breaking JS/wasm with "Missing stdlib class".
Expand Down
4 changes: 2 additions & 2 deletions TinyTransformer/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ composeHotReload = "1.0.0"
# render on macOS/Metal. AGP must also match skainet-ui's — Gradle composite
# builds reject mixed AGP versions.
composeMultiplatform = "1.11.1"
# Keep in step with the Kotlin version SKaiNET is built with: SKaiNET 0.62.1 ships
# Keep in step with the Kotlin version SKaiNET is built with: SKaiNET 0.62.2 ships
# klibs compiled with Kotlin 2.4.21 (readable by 2.4.10); an older compiler line cannot read them.
kotlin = "2.4.10"
kotlinx-coroutines = "1.10.2"
# SKaiNET BOM version — published to Maven Central. The BOM pins every
# sk.ainet.core:* artifact so individual libraries are declared without versions.
skainet = "0.62.1"
skainet = "0.62.2"

[libraries]
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
Expand Down
Loading