VSL

June 1, 2026 · View on GitHub

Maintainer planning: https://github.com/orgs/vlang/projects/8 (Vlang ML Roadmap — VSL + VTL; may require project access)

Repo roadmap: ROADMAP.md · CUDA: cuda/README.md

Done (2026-06-01)

IssueTopic
#236Multi-backend GPU architecture
#237#239Vulkan / CUDA / OpenCL foundations
#280cuBLAS/cuDNN kernels
#281GPU numerical validation tests
#282vs NumPy benchmarks + PR comments
#283#285Vulkan gating, conv2d, ComputeContext tests
#304Vulkan Conv2D backward d_weight GEMM layout fix
#305Vulkan vector_mul, vector_sqrt, fused f32 adam_step shader

VTL (downstream): CUDA Phases 1–4, f32 autograd/training, Vulkan Linear, Conv2D, ReLU/Sigmoid, and Adam are wired into the nn_cifar10_vulkan smoke.

Beta gate (open)

PriorityIssueTopic
P1#225Windows build
P2#91BLAS on macOS validation

Post-beta tracking

PriorityIssueTopic
P1Phase HMulti-GPU (device_id, data parallelism)
P1Phase IGPU memory pool / zero-copy
P2#226VCL examples
P2CUDA variants of benchmarks/vs_numpy/ in CI
P2Extended Vulkan↔CUDA numerical cross-check
P2Vulkan persistent memory / reduced host sync for VTL training

The ML beta uses VSL as a scientific and compute foundation. The stable beta contract is the portable CPU/scientific surface plus vsl.compute; CUDA, Vulkan, and VCL are opt-in experimental accelerators.

Local development

v up
cd ~/.vmodules
v test vsl/blas vsl/la vsl/compute
# CUDA smoke
v -d cuda test vsl/cuda/examples/cuda_ops_test.v
# Vulkan (opt-in; avoid full `v test vsl/vulkan` on low-RAM hosts)
cd vsl && ./bin/test --use-vulkan
VSL_TEST_VULKAN=1 VJOBS=1 v -prod -d vulkan test vulkan/compute/adam_step_vulkan_test.v

Project board sync

./.github/scripts/sync-ml-project-8.sh