Blog

SafeC 1.0.0-beta-6 released

SafeC 1.0.0-beta-6 was released on 2026-10-22. It is a pre-release: the language and std are still moving quickly.

Install this exact release:

bash
curl -fsSL https://raw.githubusercontent.com/safec-org/SafeC/main/install.sh | bash -s -- --version=v1.0.0-beta-6
powershell
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/safec-org/SafeC/main/install.ps1))) -Version v1.0.0-beta-6

Pull requests

  • cuDNN convolution / U-Net and cuFFT transforms on the CUDA backend (#3)
  • perf(cuda): close the H200 gaps vs PyTorch (cuDNN graph API, pinned transfers) + fp16/bf16 buffers (#4)
  • fix: std::alloc size class 33 read past the cache tables (#5)
  • perf: CPU SIMD/threads for std/dsp and std/ml; float DSP; vendor BLAS (#6)
  • perf(std): slab allocator, quarantine byte budget, faster Vec/HashMap, half-spectrum rFFT, arena FeatureMaps (#7)
  • feat(std/ml): flash and linear attention on ROCm (#9)
  • perf(std/ml): MPS bf16 decode/flash/linear attention, faster RMSNorm and GEMV (#8)
  • feat(cuda): flash and linear attention (cuDNN SDPA, tensor-core kernels) (#11)
  • perf(cuda): faster head-dim-128 linear and fp32 flash attention (#12)
  • fix(std): panic/log print through stderr_compat.h (#10)
  • perf(std/ml): MPS flash attention on simdgroup matrices, chunk-parallel linear attention, CUDA/ROCm-compatible API (#13)
  • perf(std/ml): ROCm attention on matrix cores (MFMA) (#14)
  • perf(std/ml): 8-simdgroup MPS flash attention threadgroups where they win (#15)
  • safeguard: honor $SAFEC and key the std archive cache on the compiler (#16)
  • perf(std/dsp): Accelerate vDSP for FIR on Apple; fix fft.sc linking on macOS (#17)
  • feat(std/ml): ROCm decode ops (half GEMV, RMSNorm, GELU); gpu_mps links off Apple (#18)
  • feat(std/ml): CPU half_gemv; tensor_blas/tensor_vdsp link on every platform (#19)
  • std/ml CUDA: decode ops from the Gemma 4 engine (half GEMV, RMSNorm, GELU, split-KV attention) (#20)
  • perf(std/ml): Apple Silicon half_gemv, half_gemv_batch, P-core pool (#21)
  • fix(std/sched): wait out connect() in the http and websocket clients (macOS) (#22)
  • std/http: bound connect and handshake time in HTTP/WebSocket clients (#23)
  • std/ml: residual/pooling, Mamba SSM, training stack, generative models, RL, LoRA/QLoRA (#24)
  • fix(std): panic/log print through stderr_compat.h (#26)
  • std/ml: trainable convnets; fp16/bf16 mixed precision on CPU, ROCm and CUDA (#27)
  • std/ml CUDA: faster mixed-precision ops and 16-bit convolutions (#28)
  • std: faster CPU training (sgemm packs once per call, vectorized optimizer) (#29)
  • feat(safeguard): prebuilt and local library dependencies; fix [[dependencies]] parsing (#31)
  • std/ml: device-resident training on ROCm (nn_rocm.h) (#30)
  • std/ml nn_rocm: MIOpen convolutions, fused passes, fp16/bf16 training (#32)
  • std: audit outside std/ml — bug fixes, convention fixes, broader tests (#33)
  • std/ml: one training interface over CPU and ROCm (traits), backend picked at build time (#34)
  • std/ml: operations on stateful types are methods (#35)
  • std: AES-GCM TLS records, real MMU formats, chip-generic HAL, verified GUI backends (#36)
  • Trait composition and bounded generic structs; std/ml models as composed traits (#37)
  • std/ml: autograd as methods (Tensor::backward / zero_grad, Autograd state) (#38)
  • feat(compiler): static methods, keyword method names, return-type inference (#39)
  • feat(compiler): methods with their own type parameters (#40)
  • std/ml: static-method constructors; single-tensor ops as methods (#41)
  • compiler: static calls through a type parameter; generic functions as values (#42)
  • std/ml: generic DenseTensor; HalfTensor/BF16Tensor with autograd (#44)
  • std: methods, static constructors and composed traits (#45)
  • fix(compiler): struct-body declarations, trait method shapes, newtype if const, pointer inference (#43)
  • ml/mps: typed MpsBuf, GPU Mlp training, const-pointer global and dispatch fixes (#46)
  • ml: train on ROCm, CUDA and Metal through tensor devices; fp16/bf16, SparseTensor (#47)
  • ml: trainable attention and transformers on tensor devices; fused attention kernels (#48)
  • ml/device_cuda: cuDNN graph plans for device convolutions; first H200 run (#49)
  • ml/device: every kernel on the Metal GPU from the shared kernel source; macOS link fix (#50)

The release on GitHub · Changelog