Release v1.2.0#18
Merged
Merged
Conversation
General GPU compute release: #[compute] kernels compile to valid SPIR-V, dispatch on a real Vulkan device, and seal a re-checkable GPU receipt (Phases 1-4a), plus the dimensional-analysis units core, receipt Wave 4 (self-test, chain, corpus), four new invariant kernels, typed Array<T,N> params/returns, and the README visual-identity and docs refresh. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1.2.0 - 2026-07-07 - general GPU compute
BuildLang programs now run real work on the GPU:
#[compute]kernels compileto valid SPIR-V, dispatch on an actual Vulkan device, and seal a re-checkable
GPU receipt. Minor release (backward compatible; programs that do not use the
GPU path or the new flags are unaffected).
dispatchable compute SPIR-V for
#[compute]kernels; Layer B/C perform areal Vulkan dispatch on the device and seal a GPU receipt. A NUL-byte entry
name is now a typed error instead of a panic.
cross-check generalized from a fixed demo to arbitrary elementwise kernels,
with writability inference, scalar push constants in the SPIR-V interface,
and a clear diagnostic refusing
f64on the f32-only GPU path.dispatch grid, matmul shape validation in the Vulkan host, an in-kernel
bounds guard for arbitrary dims, and rejection of non-workgroup-multiple
matmul dims (out-of-bounds guard). Cross-checked against an identity
closed-form sanity case.
u32-length 1D driver, clamped-edge sanity checks, and Layer A emit + device
match + boundary + negative tests.
for workgroup-shared scratch memory and barriers, a distinct
WorkgroupOpVariableper scratch local, effect-gating tests, and a deadFunction-storage variable skipped for workgroup-slot locals.
dominator analysis (selection-in-loop nesting covered), void/unit stores
skipped, constant-operand signedness reconciled in integer binops, and
integer binops typed from the non-constant operand (const-left case).
dependency-free core (
compiler/src/units.rs, public asbuildlang::units)models a physical dimension as integer exponents over the seven SI base
dimensions, with the checked algebra (multiply/divide/power; add, subtract,
and compare require equal dimensions), a parser for a compact unit grammar
(
m/s,kg*m/s^2,1/s,J), and a canonical formatter.buildc run --emit-receipt --units <UNIT>canonicalizes the declared unitthrough this core: a malformed or unknown unit is a hard error before any
compilation, and a valid unit is sealed into the scientific-runtime
receipt's
measurement.unitsin its checked canonical form (som*s^-1and
m/sseal identically and the receipt still re-verifies). Honestscope: unit annotation and receipt-label checking only;
f64<m/s>is notyet a first-class type in the checker (integration specced in
docs/DIMENSIONAL-ANALYSIS.md). Backward compatible:runwithout--unitsis byte-identical. Coverage: 18 core unit tests plus 2 CLIintegration tests.
receipt verify --self-testproves the verifier canFAIL;
receipt chain build/chain verifyseal a tamper-evident receiptbundle (the index is bound into the chain seal; all 4 failure classes
covered);
receipt corpusgates the example suite on declaredclassifications. Non-byte-reproducible receipt seals documented as
by-design.
non-negative(algorithmic accountability), a reaction invariant checker (chemistry
demo), a Born-rule normalization kernel (quantum conservation), and a
funnel-hashing probe-bound kernel (algorithmic). README and STATUS synced
to the family.
Array<T,N>as function parameter and return type: fixed-sizearrays can now be passed to and returned from functions (returns lower via
an out-param). Documented in the math-syntax guide.
header and body, a current introduction, and a live crates.io version badge
plus a downloads badge (replacing the hardcoded version badge). Stale
stencil exclusions dropped from host and packer comments.
&mutMIR mutability.Verification: cargo fmt --check clean; cargo build clean; full cargo test with the CI skips: 1575 passed, 0 failed (lib 959, bin 143, cli 321, receipt 12, lexer 52, parser 88); the README/USAGE worked example re-run against the 1.2.0 build and its captured output re-verified.
Prep only: no tag, no GitHub release, no cargo publish.
🤖 Generated with Claude Code