Skip to content

Bump skainet from 0.32.3 to 0.34.0#150

Closed
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/gradle/skainet-0.34.0
Closed

Bump skainet from 0.32.3 to 0.34.0#150
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/gradle/skainet-0.34.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 6, 2026

Copy link
Copy Markdown
Contributor

Bumps skainet from 0.32.3 to 0.34.0.
Updates sk.ainet.core:skainet-lang-core from 0.32.3 to 0.34.0

Changelog

Sourced from sk.ainet.core:skainet-lang-core's changelog.

[0.34.0] - 2026-07-05

Added

  • New module sk.ainet.core:skainet-data-source — URI-backed data sources. One declarative way to get raw data into SKaiNET from file://, https://, and Hugging Face (hf://owner/repo/path and hf+https://…) URIs: DataSource contracts + DataSourceUriParser, a DefaultDataSourceResolver (JVM: JvmDataSourceResolver with artifact materialization/caching via CachePolicy), streaming of source artifacts with kotlinx-io, and parameterizable Hugging Face auth (token provider — no hard-coded credentials). (PRs #784, #785)
  • Raw dataset parsers + suspendable data pipeline DSL. DataFormatParser implementations for CSV, TSV, JSON arrays/objects, and JSON Lines (.jsonl / .ndjson) produce schema-carrying RawDatasets; rawDataset { from(…); format(…); cachePolicy(…) } builds a dataset straight from a source URI, and dataPipeline<T>() chains named, schema-aware dataTransformer stages as a suspend pipeline. See the new data sources getting-started tutorial. (PR #785)
  • Dataset operation views and richer batches (skainet-data-api). Dataset gains deterministic seeded shuffle(seed), split(ratio, seed, stratified) (label-stratified splitting), filter / index-based views, optional inputShape/outputShape metadata, and batch/epoch Flows. DataBatch now carries sample indices and a metadata map, and supports slice(range) over the leading batch dimension. All additions have defaults — existing Dataset implementations keep compiling; the bundled MNIST / Fashion-MNIST / CIFAR-10 loaders support indexed (non-contiguous) batches, are routed through the source layer, and unsupported platform targets now fail with a clear DatasetLoaderUnsupportedTargetException. (PR #785)
  • bf16-native DSL → StableHLO export path. A model authored in bf16 in the NN DSL now exports StableHLO whose weights reach the matmuls as bf16 (required by NPUs that reject fp32 weights). Adds DtypeForwardPropagationPass (unifies the graph's float dtype end-to-end, coercing float sources when targetFloatDtype is set), a width-matched -inf bit pattern for softmax/attention max-reduce identities, valid stablehlo.convert function-form emission, and BF16 support in DenseTensorDataFactory.zeros/placeholder. Verified: a DSL-authored bf16 Moonshine encoder traces to all-bf16 StableHLO and compiles to an aarch64 llvm-cpu vmfb. (PRs #788, #791)
  • Pluggable per-phase, per-target compile optimization (skainet-compile-opt). The seam that keeps hardware knowledge out of the agnostic compiler core: CompilePhase { TAPE, DAG, STABLE_HLO }, TargetOptimizer (per-phase pass provider), the TargetOptimizers registry, and dagPipelineFor(target, corePasses). The StableHLO emitter additionally accepts an optional target id and OpGranularityPolicy (+ FusedOpAllowList) so per-target fused-vs-decomposed emission decisions are possible; everything defaults to the previous behavior — emission is byte-identical when unused. (PR #791)
  • KernelProfile diagnostics (skainet-backend-cpu). Always-on accumulating profiler over the three DefaultCpuOps.matmul dispatch paths (quant-NEON / fp32-scalar / generic), read via KernelProfile.report() — used to localize on-device decode cost.
  • Contributor Covenant 3.0 Code of Conduct, with GitHub private vulnerability reporting as the contact channel. (PR #790)

Performance

  • Native CPU K-quant matmul: 2.07× Q4_K on Cortex-A55. Two levers, validated against the Panama reference and on-board: (1) block-outer / output-row-inner loop order so block-major weight bytes are read strictly sequentially (the dominant win on in-order cores — the old order made every weight read a cold cache miss), applied to Q4_K, Q5_K, Q6_K, and Q8_0; (2) ggml-style fused Q8 activation quantization + int8 dot path (vdotq_s32 on dotprod targets, scalar fallback otherwise) for Q4_K and Q6_K. TinyLlama Q4_K_M on-board decode improved 1.50× end-to-end. Note: the fused int8 path is

... (truncated)

Commits
  • f402b3d Update roadmap
  • 7ebed3d release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • 3b38586 release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • c92d587 Merge pull request #791 from SKaiNET-developers/feature/bf16-dsl-export
  • b2a1e16 compile: add target + op-granularity plugin seam to StableHLO emitter
  • 006c5ab nn: compute LayerNorm normalization in f32 regardless of model dtype
  • c6a669a Use GitHub private reporting as Code of Conduct contact
  • 7765ba3 Merge pull request #790 from SKaiNET-developers/add-code-of-conduct
  • c6b5a5e Add Contributor Covenant 3.0 Code of Conduct
  • 6d036a8 compile-hlo: emit rank-0 tensor type as tensor<elem>, not tensor<xelem>
  • Additional commits viewable in compare view

Updates sk.ainet.core:skainet-lang-models from 0.32.3 to 0.34.0

Changelog

Sourced from sk.ainet.core:skainet-lang-models's changelog.

[0.34.0] - 2026-07-05

Added

  • New module sk.ainet.core:skainet-data-source — URI-backed data sources. One declarative way to get raw data into SKaiNET from file://, https://, and Hugging Face (hf://owner/repo/path and hf+https://…) URIs: DataSource contracts + DataSourceUriParser, a DefaultDataSourceResolver (JVM: JvmDataSourceResolver with artifact materialization/caching via CachePolicy), streaming of source artifacts with kotlinx-io, and parameterizable Hugging Face auth (token provider — no hard-coded credentials). (PRs #784, #785)
  • Raw dataset parsers + suspendable data pipeline DSL. DataFormatParser implementations for CSV, TSV, JSON arrays/objects, and JSON Lines (.jsonl / .ndjson) produce schema-carrying RawDatasets; rawDataset { from(…); format(…); cachePolicy(…) } builds a dataset straight from a source URI, and dataPipeline<T>() chains named, schema-aware dataTransformer stages as a suspend pipeline. See the new data sources getting-started tutorial. (PR #785)
  • Dataset operation views and richer batches (skainet-data-api). Dataset gains deterministic seeded shuffle(seed), split(ratio, seed, stratified) (label-stratified splitting), filter / index-based views, optional inputShape/outputShape metadata, and batch/epoch Flows. DataBatch now carries sample indices and a metadata map, and supports slice(range) over the leading batch dimension. All additions have defaults — existing Dataset implementations keep compiling; the bundled MNIST / Fashion-MNIST / CIFAR-10 loaders support indexed (non-contiguous) batches, are routed through the source layer, and unsupported platform targets now fail with a clear DatasetLoaderUnsupportedTargetException. (PR #785)
  • bf16-native DSL → StableHLO export path. A model authored in bf16 in the NN DSL now exports StableHLO whose weights reach the matmuls as bf16 (required by NPUs that reject fp32 weights). Adds DtypeForwardPropagationPass (unifies the graph's float dtype end-to-end, coercing float sources when targetFloatDtype is set), a width-matched -inf bit pattern for softmax/attention max-reduce identities, valid stablehlo.convert function-form emission, and BF16 support in DenseTensorDataFactory.zeros/placeholder. Verified: a DSL-authored bf16 Moonshine encoder traces to all-bf16 StableHLO and compiles to an aarch64 llvm-cpu vmfb. (PRs #788, #791)
  • Pluggable per-phase, per-target compile optimization (skainet-compile-opt). The seam that keeps hardware knowledge out of the agnostic compiler core: CompilePhase { TAPE, DAG, STABLE_HLO }, TargetOptimizer (per-phase pass provider), the TargetOptimizers registry, and dagPipelineFor(target, corePasses). The StableHLO emitter additionally accepts an optional target id and OpGranularityPolicy (+ FusedOpAllowList) so per-target fused-vs-decomposed emission decisions are possible; everything defaults to the previous behavior — emission is byte-identical when unused. (PR #791)
  • KernelProfile diagnostics (skainet-backend-cpu). Always-on accumulating profiler over the three DefaultCpuOps.matmul dispatch paths (quant-NEON / fp32-scalar / generic), read via KernelProfile.report() — used to localize on-device decode cost.
  • Contributor Covenant 3.0 Code of Conduct, with GitHub private vulnerability reporting as the contact channel. (PR #790)

Performance

  • Native CPU K-quant matmul: 2.07× Q4_K on Cortex-A55. Two levers, validated against the Panama reference and on-board: (1) block-outer / output-row-inner loop order so block-major weight bytes are read strictly sequentially (the dominant win on in-order cores — the old order made every weight read a cold cache miss), applied to Q4_K, Q5_K, Q6_K, and Q8_0; (2) ggml-style fused Q8 activation quantization + int8 dot path (vdotq_s32 on dotprod targets, scalar fallback otherwise) for Q4_K and Q6_K. TinyLlama Q4_K_M on-board decode improved 1.50× end-to-end. Note: the fused int8 path is

... (truncated)

Commits
  • f402b3d Update roadmap
  • 7ebed3d release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • 3b38586 release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • c92d587 Merge pull request #791 from SKaiNET-developers/feature/bf16-dsl-export
  • b2a1e16 compile: add target + op-granularity plugin seam to StableHLO emitter
  • 006c5ab nn: compute LayerNorm normalization in f32 regardless of model dtype
  • c6a669a Use GitHub private reporting as Code of Conduct contact
  • 7765ba3 Merge pull request #790 from SKaiNET-developers/add-code-of-conduct
  • c6b5a5e Add Contributor Covenant 3.0 Code of Conduct
  • 6d036a8 compile-hlo: emit rank-0 tensor type as tensor<elem>, not tensor<xelem>
  • Additional commits viewable in compare view

Updates sk.ainet.core:skainet-model-yolo from 0.32.3 to 0.34.0

Changelog

Sourced from sk.ainet.core:skainet-model-yolo's changelog.

[0.34.0] - 2026-07-05

Added

  • New module sk.ainet.core:skainet-data-source — URI-backed data sources. One declarative way to get raw data into SKaiNET from file://, https://, and Hugging Face (hf://owner/repo/path and hf+https://…) URIs: DataSource contracts + DataSourceUriParser, a DefaultDataSourceResolver (JVM: JvmDataSourceResolver with artifact materialization/caching via CachePolicy), streaming of source artifacts with kotlinx-io, and parameterizable Hugging Face auth (token provider — no hard-coded credentials). (PRs #784, #785)
  • Raw dataset parsers + suspendable data pipeline DSL. DataFormatParser implementations for CSV, TSV, JSON arrays/objects, and JSON Lines (.jsonl / .ndjson) produce schema-carrying RawDatasets; rawDataset { from(…); format(…); cachePolicy(…) } builds a dataset straight from a source URI, and dataPipeline<T>() chains named, schema-aware dataTransformer stages as a suspend pipeline. See the new data sources getting-started tutorial. (PR #785)
  • Dataset operation views and richer batches (skainet-data-api). Dataset gains deterministic seeded shuffle(seed), split(ratio, seed, stratified) (label-stratified splitting), filter / index-based views, optional inputShape/outputShape metadata, and batch/epoch Flows. DataBatch now carries sample indices and a metadata map, and supports slice(range) over the leading batch dimension. All additions have defaults — existing Dataset implementations keep compiling; the bundled MNIST / Fashion-MNIST / CIFAR-10 loaders support indexed (non-contiguous) batches, are routed through the source layer, and unsupported platform targets now fail with a clear DatasetLoaderUnsupportedTargetException. (PR #785)
  • bf16-native DSL → StableHLO export path. A model authored in bf16 in the NN DSL now exports StableHLO whose weights reach the matmuls as bf16 (required by NPUs that reject fp32 weights). Adds DtypeForwardPropagationPass (unifies the graph's float dtype end-to-end, coercing float sources when targetFloatDtype is set), a width-matched -inf bit pattern for softmax/attention max-reduce identities, valid stablehlo.convert function-form emission, and BF16 support in DenseTensorDataFactory.zeros/placeholder. Verified: a DSL-authored bf16 Moonshine encoder traces to all-bf16 StableHLO and compiles to an aarch64 llvm-cpu vmfb. (PRs #788, #791)
  • Pluggable per-phase, per-target compile optimization (skainet-compile-opt). The seam that keeps hardware knowledge out of the agnostic compiler core: CompilePhase { TAPE, DAG, STABLE_HLO }, TargetOptimizer (per-phase pass provider), the TargetOptimizers registry, and dagPipelineFor(target, corePasses). The StableHLO emitter additionally accepts an optional target id and OpGranularityPolicy (+ FusedOpAllowList) so per-target fused-vs-decomposed emission decisions are possible; everything defaults to the previous behavior — emission is byte-identical when unused. (PR #791)
  • KernelProfile diagnostics (skainet-backend-cpu). Always-on accumulating profiler over the three DefaultCpuOps.matmul dispatch paths (quant-NEON / fp32-scalar / generic), read via KernelProfile.report() — used to localize on-device decode cost.
  • Contributor Covenant 3.0 Code of Conduct, with GitHub private vulnerability reporting as the contact channel. (PR #790)

Performance

  • Native CPU K-quant matmul: 2.07× Q4_K on Cortex-A55. Two levers, validated against the Panama reference and on-board: (1) block-outer / output-row-inner loop order so block-major weight bytes are read strictly sequentially (the dominant win on in-order cores — the old order made every weight read a cold cache miss), applied to Q4_K, Q5_K, Q6_K, and Q8_0; (2) ggml-style fused Q8 activation quantization + int8 dot path (vdotq_s32 on dotprod targets, scalar fallback otherwise) for Q4_K and Q6_K. TinyLlama Q4_K_M on-board decode improved 1.50× end-to-end. Note: the fused int8 path is

... (truncated)

Commits
  • f402b3d Update roadmap
  • 7ebed3d release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • 3b38586 release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • c92d587 Merge pull request #791 from SKaiNET-developers/feature/bf16-dsl-export
  • b2a1e16 compile: add target + op-granularity plugin seam to StableHLO emitter
  • 006c5ab nn: compute LayerNorm normalization in f32 regardless of model dtype
  • c6a669a Use GitHub private reporting as Code of Conduct contact
  • 7765ba3 Merge pull request #790 from SKaiNET-developers/add-code-of-conduct
  • c6b5a5e Add Contributor Covenant 3.0 Code of Conduct
  • 6d036a8 compile-hlo: emit rank-0 tensor type as tensor<elem>, not tensor<xelem>
  • Additional commits viewable in compare view

Updates sk.ainet.core:skainet-lang-dag from 0.32.3 to 0.34.0

Changelog

Sourced from sk.ainet.core:skainet-lang-dag's changelog.

[0.34.0] - 2026-07-05

Added

  • New module sk.ainet.core:skainet-data-source — URI-backed data sources. One declarative way to get raw data into SKaiNET from file://, https://, and Hugging Face (hf://owner/repo/path and hf+https://…) URIs: DataSource contracts + DataSourceUriParser, a DefaultDataSourceResolver (JVM: JvmDataSourceResolver with artifact materialization/caching via CachePolicy), streaming of source artifacts with kotlinx-io, and parameterizable Hugging Face auth (token provider — no hard-coded credentials). (PRs #784, #785)
  • Raw dataset parsers + suspendable data pipeline DSL. DataFormatParser implementations for CSV, TSV, JSON arrays/objects, and JSON Lines (.jsonl / .ndjson) produce schema-carrying RawDatasets; rawDataset { from(…); format(…); cachePolicy(…) } builds a dataset straight from a source URI, and dataPipeline<T>() chains named, schema-aware dataTransformer stages as a suspend pipeline. See the new data sources getting-started tutorial. (PR #785)
  • Dataset operation views and richer batches (skainet-data-api). Dataset gains deterministic seeded shuffle(seed), split(ratio, seed, stratified) (label-stratified splitting), filter / index-based views, optional inputShape/outputShape metadata, and batch/epoch Flows. DataBatch now carries sample indices and a metadata map, and supports slice(range) over the leading batch dimension. All additions have defaults — existing Dataset implementations keep compiling; the bundled MNIST / Fashion-MNIST / CIFAR-10 loaders support indexed (non-contiguous) batches, are routed through the source layer, and unsupported platform targets now fail with a clear DatasetLoaderUnsupportedTargetException. (PR #785)
  • bf16-native DSL → StableHLO export path. A model authored in bf16 in the NN DSL now exports StableHLO whose weights reach the matmuls as bf16 (required by NPUs that reject fp32 weights). Adds DtypeForwardPropagationPass (unifies the graph's float dtype end-to-end, coercing float sources when targetFloatDtype is set), a width-matched -inf bit pattern for softmax/attention max-reduce identities, valid stablehlo.convert function-form emission, and BF16 support in DenseTensorDataFactory.zeros/placeholder. Verified: a DSL-authored bf16 Moonshine encoder traces to all-bf16 StableHLO and compiles to an aarch64 llvm-cpu vmfb. (PRs #788, #791)
  • Pluggable per-phase, per-target compile optimization (skainet-compile-opt). The seam that keeps hardware knowledge out of the agnostic compiler core: CompilePhase { TAPE, DAG, STABLE_HLO }, TargetOptimizer (per-phase pass provider), the TargetOptimizers registry, and dagPipelineFor(target, corePasses). The StableHLO emitter additionally accepts an optional target id and OpGranularityPolicy (+ FusedOpAllowList) so per-target fused-vs-decomposed emission decisions are possible; everything defaults to the previous behavior — emission is byte-identical when unused. (PR #791)
  • KernelProfile diagnostics (skainet-backend-cpu). Always-on accumulating profiler over the three DefaultCpuOps.matmul dispatch paths (quant-NEON / fp32-scalar / generic), read via KernelProfile.report() — used to localize on-device decode cost.
  • Contributor Covenant 3.0 Code of Conduct, with GitHub private vulnerability reporting as the contact channel. (PR #790)

Performance

  • Native CPU K-quant matmul: 2.07× Q4_K on Cortex-A55. Two levers, validated against the Panama reference and on-board: (1) block-outer / output-row-inner loop order so block-major weight bytes are read strictly sequentially (the dominant win on in-order cores — the old order made every weight read a cold cache miss), applied to Q4_K, Q5_K, Q6_K, and Q8_0; (2) ggml-style fused Q8 activation quantization + int8 dot path (vdotq_s32 on dotprod targets, scalar fallback otherwise) for Q4_K and Q6_K. TinyLlama Q4_K_M on-board decode improved 1.50× end-to-end. Note: the fused int8 path is

... (truncated)

Commits
  • f402b3d Update roadmap
  • 7ebed3d release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • 3b38586 release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • c92d587 Merge pull request #791 from SKaiNET-developers/feature/bf16-dsl-export
  • b2a1e16 compile: add target + op-granularity plugin seam to StableHLO emitter
  • 006c5ab nn: compute LayerNorm normalization in f32 regardless of model dtype
  • c6a669a Use GitHub private reporting as Code of Conduct contact
  • 7765ba3 Merge pull request #790 from SKaiNET-developers/add-code-of-conduct
  • c6b5a5e Add Contributor Covenant 3.0 Code of Conduct
  • 6d036a8 compile-hlo: emit rank-0 tensor type as tensor<elem>, not tensor<xelem>
  • Additional commits viewable in compare view

Updates sk.ainet.core:skainet-compile-core from 0.32.3 to 0.34.0

Changelog

Sourced from sk.ainet.core:skainet-compile-core's changelog.

[0.34.0] - 2026-07-05

Added

  • New module sk.ainet.core:skainet-data-source — URI-backed data sources. One declarative way to get raw data into SKaiNET from file://, https://, and Hugging Face (hf://owner/repo/path and hf+https://…) URIs: DataSource contracts + DataSourceUriParser, a DefaultDataSourceResolver (JVM: JvmDataSourceResolver with artifact materialization/caching via CachePolicy), streaming of source artifacts with kotlinx-io, and parameterizable Hugging Face auth (token provider — no hard-coded credentials). (PRs #784, #785)
  • Raw dataset parsers + suspendable data pipeline DSL. DataFormatParser implementations for CSV, TSV, JSON arrays/objects, and JSON Lines (.jsonl / .ndjson) produce schema-carrying RawDatasets; rawDataset { from(…); format(…); cachePolicy(…) } builds a dataset straight from a source URI, and dataPipeline<T>() chains named, schema-aware dataTransformer stages as a suspend pipeline. See the new data sources getting-started tutorial. (PR #785)
  • Dataset operation views and richer batches (skainet-data-api). Dataset gains deterministic seeded shuffle(seed), split(ratio, seed, stratified) (label-stratified splitting), filter / index-based views, optional inputShape/outputShape metadata, and batch/epoch Flows. DataBatch now carries sample indices and a metadata map, and supports slice(range) over the leading batch dimension. All additions have defaults — existing Dataset implementations keep compiling; the bundled MNIST / Fashion-MNIST / CIFAR-10 loaders support indexed (non-contiguous) batches, are routed through the source layer, and unsupported platform targets now fail with a clear DatasetLoaderUnsupportedTargetException. (PR #785)
  • bf16-native DSL → StableHLO export path. A model authored in bf16 in the NN DSL now exports StableHLO whose weights reach the matmuls as bf16 (required by NPUs that reject fp32 weights). Adds DtypeForwardPropagationPass (unifies the graph's float dtype end-to-end, coercing float sources when targetFloatDtype is set), a width-matched -inf bit pattern for softmax/attention max-reduce identities, valid stablehlo.convert function-form emission, and BF16 support in DenseTensorDataFactory.zeros/placeholder. Verified: a DSL-authored bf16 Moonshine encoder traces to all-bf16 StableHLO and compiles to an aarch64 llvm-cpu vmfb. (PRs #788, #791)
  • Pluggable per-phase, per-target compile optimization (skainet-compile-opt). The seam that keeps hardware knowledge out of the agnostic compiler core: CompilePhase { TAPE, DAG, STABLE_HLO }, TargetOptimizer (per-phase pass provider), the TargetOptimizers registry, and dagPipelineFor(target, corePasses). The StableHLO emitter additionally accepts an optional target id and OpGranularityPolicy (+ FusedOpAllowList) so per-target fused-vs-decomposed emission decisions are possible; everything defaults to the previous behavior — emission is byte-identical when unused. (PR #791)
  • KernelProfile diagnostics (skainet-backend-cpu). Always-on accumulating profiler over the three DefaultCpuOps.matmul dispatch paths (quant-NEON / fp32-scalar / generic), read via KernelProfile.report() — used to localize on-device decode cost.
  • Contributor Covenant 3.0 Code of Conduct, with GitHub private vulnerability reporting as the contact channel. (PR #790)

Performance

  • Native CPU K-quant matmul: 2.07× Q4_K on Cortex-A55. Two levers, validated against the Panama reference and on-board: (1) block-outer / output-row-inner loop order so block-major weight bytes are read strictly sequentially (the dominant win on in-order cores — the old order made every weight read a cold cache miss), applied to Q4_K, Q5_K, Q6_K, and Q8_0; (2) ggml-style fused Q8 activation quantization + int8 dot path (vdotq_s32 on dotprod targets, scalar fallback otherwise) for Q4_K and Q6_K. TinyLlama Q4_K_M on-board decode improved 1.50× end-to-end. Note: the fused int8 path is

... (truncated)

Commits
  • f402b3d Update roadmap
  • 7ebed3d release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • 3b38586 release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • c92d587 Merge pull request #791 from SKaiNET-developers/feature/bf16-dsl-export
  • b2a1e16 compile: add target + op-granularity plugin seam to StableHLO emitter
  • 006c5ab nn: compute LayerNorm normalization in f32 regardless of model dtype
  • c6a669a Use GitHub private reporting as Code of Conduct contact
  • 7765ba3 Merge pull request #790 from SKaiNET-developers/add-code-of-conduct
  • c6b5a5e Add Contributor Covenant 3.0 Code of Conduct
  • 6d036a8 compile-hlo: emit rank-0 tensor type as tensor<elem>, not tensor<xelem>
  • Additional commits viewable in compare view

Updates sk.ainet.core:skainet-compile-dag from 0.32.3 to 0.34.0

Changelog

Sourced from sk.ainet.core:skainet-compile-dag's changelog.

[0.34.0] - 2026-07-05

Added

  • New module sk.ainet.core:skainet-data-source — URI-backed data sources. One declarative way to get raw data into SKaiNET from file://, https://, and Hugging Face (hf://owner/repo/path and hf+https://…) URIs: DataSource contracts + DataSourceUriParser, a DefaultDataSourceResolver (JVM: JvmDataSourceResolver with artifact materialization/caching via CachePolicy), streaming of source artifacts with kotlinx-io, and parameterizable Hugging Face auth (token provider — no hard-coded credentials). (PRs #784, #785)
  • Raw dataset parsers + suspendable data pipeline DSL. DataFormatParser implementations for CSV, TSV, JSON arrays/objects, and JSON Lines (.jsonl / .ndjson) produce schema-carrying RawDatasets; rawDataset { from(…); format(…); cachePolicy(…) } builds a dataset straight from a source URI, and dataPipeline<T>() chains named, schema-aware dataTransformer stages as a suspend pipeline. See the new data sources getting-started tutorial. (PR #785)
  • Dataset operation views and richer batches (skainet-data-api). Dataset gains deterministic seeded shuffle(seed), split(ratio, seed, stratified) (label-stratified splitting), filter / index-based views, optional inputShape/outputShape metadata, and batch/epoch Flows. DataBatch now carries sample indices and a metadata map, and supports slice(range) over the leading batch dimension. All additions have defaults — existing Dataset implementations keep compiling; the bundled MNIST / Fashion-MNIST / CIFAR-10 loaders support indexed (non-contiguous) batches, are routed through the source layer, and unsupported platform targets now fail with a clear DatasetLoaderUnsupportedTargetException. (PR #785)
  • bf16-native DSL → StableHLO export path. A model authored in bf16 in the NN DSL now exports StableHLO whose weights reach the matmuls as bf16 (required by NPUs that reject fp32 weights). Adds DtypeForwardPropagationPass (unifies the graph's float dtype end-to-end, coercing float sources when targetFloatDtype is set), a width-matched -inf bit pattern for softmax/attention max-reduce identities, valid stablehlo.convert function-form emission, and BF16 support in DenseTensorDataFactory.zeros/placeholder. Verified: a DSL-authored bf16 Moonshine encoder traces to all-bf16 StableHLO and compiles to an aarch64 llvm-cpu vmfb. (PRs #788, #791)
  • Pluggable per-phase, per-target compile optimization (skainet-compile-opt). The seam that keeps hardware knowledge out of the agnostic compiler core: CompilePhase { TAPE, DAG, STABLE_HLO }, TargetOptimizer (per-phase pass provider), the TargetOptimizers registry, and dagPipelineFor(target, corePasses). The StableHLO emitter additionally accepts an optional target id and OpGranularityPolicy (+ FusedOpAllowList) so per-target fused-vs-decomposed emission decisions are possible; everything defaults to the previous behavior — emission is byte-identical when unused. (PR #791)
  • KernelProfile diagnostics (skainet-backend-cpu). Always-on accumulating profiler over the three DefaultCpuOps.matmul dispatch paths (quant-NEON / fp32-scalar / generic), read via KernelProfile.report() — used to localize on-device decode cost.
  • Contributor Covenant 3.0 Code of Conduct, with GitHub private vulnerability reporting as the contact channel. (PR #790)

Performance

  • Native CPU K-quant matmul: 2.07× Q4_K on Cortex-A55. Two levers, validated against the Panama reference and on-board: (1) block-outer / output-row-inner loop order so block-major weight bytes are read strictly sequentially (the dominant win on in-order cores — the old order made every weight read a cold cache miss), applied to Q4_K, Q5_K, Q6_K, and Q8_0; (2) ggml-style fused Q8 activation quantization + int8 dot path (vdotq_s32 on dotprod targets, scalar fallback otherwise) for Q4_K and Q6_K. TinyLlama Q4_K_M on-board decode improved 1.50× end-to-end. Note: the fused int8 path is

... (truncated)

Commits
  • f402b3d Update roadmap
  • 7ebed3d release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • 3b38586 release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • c92d587 Merge pull request #791 from SKaiNET-developers/feature/bf16-dsl-export
  • b2a1e16 compile: add target + op-granularity plugin seam to StableHLO emitter
  • 006c5ab nn: compute LayerNorm normalization in f32 regardless of model dtype
  • c6a669a Use GitHub private reporting as Code of Conduct contact
  • 7765ba3 Merge pull request #790 from SKaiNET-developers/add-code-of-conduct
  • c6b5a5e Add Contributor Covenant 3.0 Code of Conduct
  • 6d036a8 compile-hlo: emit rank-0 tensor type as tensor<elem>, not tensor<xelem>
  • Additional commits viewable in compare view

Updates sk.ainet.core:skainet-backend-cpu from 0.32.3 to 0.34.0

Changelog

Sourced from sk.ainet.core:skainet-backend-cpu's changelog.

[0.34.0] - 2026-07-05

Added

  • New module sk.ainet.core:skainet-data-source — URI-backed data sources. One declarative way to get raw data into SKaiNET from file://, https://, and Hugging Face (hf://owner/repo/path and hf+https://…) URIs: DataSource contracts + DataSourceUriParser, a DefaultDataSourceResolver (JVM: JvmDataSourceResolver with artifact materialization/caching via CachePolicy), streaming of source artifacts with kotlinx-io, and parameterizable Hugging Face auth (token provider — no hard-coded credentials). (PRs #784, #785)
  • Raw dataset parsers + suspendable data pipeline DSL. DataFormatParser implementations for CSV, TSV, JSON arrays/objects, and JSON Lines (.jsonl / .ndjson) produce schema-carrying RawDatasets; rawDataset { from(…); format(…); cachePolicy(…) } builds a dataset straight from a source URI, and dataPipeline<T>() chains named, schema-aware dataTransformer stages as a suspend pipeline. See the new data sources getting-started tutorial. (PR #785)
  • Dataset operation views and richer batches (skainet-data-api). Dataset gains deterministic seeded shuffle(seed), split(ratio, seed, stratified) (label-stratified splitting), filter / index-based views, optional inputShape/outputShape metadata, and batch/epoch Flows. DataBatch now carries sample indices and a metadata map, and supports slice(range) over the leading batch dimension. All additions have defaults — existing Dataset implementations keep compiling; the bundled MNIST / Fashion-MNIST / CIFAR-10 loaders support indexed (non-contiguous) batches, are routed through the source layer, and unsupported platform targets now fail with a clear DatasetLoaderUnsupportedTargetException. (PR #785)
  • bf16-native DSL → StableHLO export path. A model authored in bf16 in the NN DSL now exports StableHLO whose weights reach the matmuls as bf16 (required by NPUs that reject fp32 weights). Adds DtypeForwardPropagationPass (unifies the graph's float dtype end-to-end, coercing float sources when targetFloatDtype is set), a width-matched -inf bit pattern for softmax/attention max-reduce identities, valid stablehlo.convert function-form emission, and BF16 support in DenseTensorDataFactory.zeros/placeholder. Verified: a DSL-authored bf16 Moonshine encoder traces to all-bf16 StableHLO and compiles to an aarch64 llvm-cpu vmfb. (PRs #788, #791)
  • Pluggable per-phase, per-target compile optimization (skainet-compile-opt). The seam that keeps hardware knowledge out of the agnostic compiler core: CompilePhase { TAPE, DAG, STABLE_HLO }, TargetOptimizer (per-phase pass provider), the TargetOptimizers registry, and dagPipelineFor(target, corePasses). The StableHLO emitter additionally accepts an optional target id and OpGranularityPolicy (+ FusedOpAllowList) so per-target fused-vs-decomposed emission decisions are possible; everything defaults to the previous behavior — emission is byte-identical when unused. (PR #791)
  • KernelProfile diagnostics (skainet-backend-cpu). Always-on accumulating profiler over the three DefaultCpuOps.matmul dispatch paths (quant-NEON / fp32-scalar / generic), read via KernelProfile.report() — used to localize on-device decode cost.
  • Contributor Covenant 3.0 Code of Conduct, with GitHub private vulnerability reporting as the contact channel. (PR #790)

Performance

  • Native CPU K-quant matmul: 2.07× Q4_K on Cortex-A55. Two levers, validated against the Panama reference and on-board: (1) block-outer / output-row-inner loop order so block-major weight bytes are read strictly sequentially (the dominant win on in-order cores — the old order made every weight read a cold cache miss), applied to Q4_K, Q5_K, Q6_K, and Q8_0; (2) ggml-style fused Q8 activation quantization + int8 dot path (vdotq_s32 on dotprod targets, scalar fallback otherwise) for Q4_K and Q6_K. TinyLlama Q4_K_M on-board decode improved 1.50× end-to-end. Note: the fused int8 path is

... (truncated)

Commits
  • f402b3d Update roadmap
  • 7ebed3d release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • 3b38586 release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • c92d587 Merge pull request #791 from SKaiNET-developers/feature/bf16-dsl-export
  • b2a1e16 compile: add target + op-granularity plugin seam to StableHLO emitter
  • 006c5ab nn: compute LayerNorm normalization in f32 regardless of model dtype
  • c6a669a Use GitHub private reporting as Code of Conduct contact
  • 7765ba3 Merge pull request #790 from SKaiNET-developers/add-code-of-conduct
  • c6b5a5e Add Contributor Covenant 3.0 Code of Conduct
  • 6d036a8 compile-hlo: emit rank-0 tensor type as tensor<elem>, not tensor<xelem>
  • Additional commits viewable in compare view

Updates sk.ainet.core:skainet-data-api from 0.32.3 to 0.34.0

Changelog

Sourced from sk.ainet.core:skainet-data-api's changelog.

[0.34.0] - 2026-07-05

Added

  • New module sk.ainet.core:skainet-data-source — URI-backed data sources. One declarative way to get raw data into SKaiNET from file://, https://, and Hugging Face (hf://owner/repo/path and hf+https://…) URIs: DataSource contracts + DataSourceUriParser, a DefaultDataSourceResolver (JVM: JvmDataSourceResolver with artifact materialization/caching via CachePolicy), streaming of source artifacts with kotlinx-io, and parameterizable Hugging Face auth (token provider — no hard-coded credentials). (PRs #784, #785)
  • Raw dataset parsers + suspendable data pipeline DSL. DataFormatParser implementations for CSV, TSV, JSON arrays/objects, and JSON Lines (.jsonl / .ndjson) produce schema-carrying RawDatasets; rawDataset { from(…); format(…); cachePolicy(…) } builds a dataset straight from a source URI, and dataPipeline<T>() chains named, schema-aware dataTransformer stages as a suspend pipeline. See the new data sources getting-started tutorial. (PR #785)
  • Dataset operation views and richer batches (skainet-data-api). Dataset gains deterministic seeded shuffle(seed), split(ratio, seed, stratified) (label-stratified splitting), filter / index-based views, optional inputShape/outputShape metadata, and batch/epoch Flows. DataBatch now carries sample indices and a metadata map, and supports slice(range) over the leading batch dimension. All additions have defaults — existing Dataset implementations keep compiling; the bundled MNIST / Fashion-MNIST / CIFAR-10 loaders support indexed (non-contiguous) batches, are routed through the source layer, and unsupported platform targets now fail with a clear DatasetLoaderUnsupportedTargetException. (PR #785)
  • bf16-native DSL → StableHLO export path. A model authored in bf16 in the NN DSL now exports StableHLO whose weights reach the matmuls as bf16 (required by NPUs that reject fp32 weights). Adds DtypeForwardPropagationPass (unifies the graph's float dtype end-to-end, coercing float sources when targetFloatDtype is set), a width-matched -inf bit pattern for softmax/attention max-reduce identities, valid stablehlo.convert function-form emission, and BF16 support in DenseTensorDataFactory.zeros/placeholder. Verified: a DSL-authored bf16 Moonshine encoder traces to all-bf16 StableHLO and compiles to an aarch64 llvm-cpu vmfb. (PRs #788, #791)
  • Pluggable per-phase, per-target compile optimization (skainet-compile-opt). The seam that keeps hardware knowledge out of the agnostic compiler core: CompilePhase { TAPE, DAG, STABLE_HLO }, TargetOptimizer (per-phase pass provider), the TargetOptimizers registry, and dagPipelineFor(target, corePasses). The StableHLO emitter additionally accepts an optional target id and OpGranularityPolicy (+ FusedOpAllowList) so per-target fused-vs-decomposed emission decisions are possible; everything defaults to the previous behavior — emission is byte-identical when unused. (PR #791)
  • KernelProfile diagnostics (skainet-backend-cpu). Always-on accumulating profiler over the three DefaultCpuOps.matmul dispatch paths (quant-NEON / fp32-scalar / generic), read via KernelProfile.report() — used to localize on-device decode cost.
  • Contributor Covenant 3.0 Code of Conduct, with GitHub private vulnerability reporting as the contact channel. (PR #790)

Performance

  • Native CPU K-quant matmul: 2.07× Q4_K on Cortex-A55. Two levers, validated against the Panama reference and on-board: (1) block-outer / output-row-inner loop order so block-major weight bytes are read strictly sequentially (the dominant win on in-order cores — the old order made every weight read a cold cache miss), applied to Q4_K, Q5_K, Q6_K, and Q8_0; (2) ggml-style fused Q8 activation quantization + int8 dot path (vdotq_s32 on dotprod targets, scalar fallback otherwise) for Q4_K and Q6_K. TinyLlama Q4_K_M on-board decode improved 1.50× end-to-end. Note: the fused int8 path is

... (truncated)

Commits
  • f402b3d Update roadmap
  • 7ebed3d release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • 3b38586 release: 0.34.0 — URI data sources, bf16 StableHLO export, NEON K-quant 2.07×
  • c92d587 Merge pull request #791 from SKaiNET-developers/feature/bf16-dsl-export
  • b2a1e16 compile: add target + op-granularity plugin seam to StableHLO emitter
  • 006c5ab nn: compute LayerNorm normalization in f32 regardless of model dtype
  • c6a669a Use GitHub private reporting as Code of Conduct contact
  • 7765ba3 Merge pull request

Bumps `skainet` from 0.32.3 to 0.34.0.

Updates `sk.ainet.core:skainet-lang-core` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-lang-models` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-model-yolo` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-lang-dag` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-compile-core` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-compile-dag` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-backend-cpu` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-data-api` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-data-basic` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-io-core` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-io-gguf` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

Updates `sk.ainet.core:skainet-io-onnx` from 0.32.3 to 0.34.0
- [Changelog](https://github.com/SKaiNET-developers/SKaiNET/blob/develop/CHANGELOG.md)
- [Commits](SKaiNET-developers/SKaiNET@0.32.3...0.34.0)

---
updated-dependencies:
- dependency-name: sk.ainet.core:skainet-lang-core
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-lang-models
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-model-yolo
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-lang-dag
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-compile-core
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-compile-dag
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-backend-cpu
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-data-api
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-data-basic
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-io-core
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-io-gguf
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: sk.ainet.core:skainet-io-onnx
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Jul 6, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #152.

@dependabot dependabot Bot closed this Jul 9, 2026
@dependabot
dependabot Bot deleted the dependabot/gradle/skainet-0.34.0 branch July 9, 2026 04:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants