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)
| Issue | Topic |
|---|---|
| #236 | Multi-backend GPU architecture |
| #237–#239 | Vulkan / CUDA / OpenCL foundations |
| #280 | cuBLAS/cuDNN kernels |
| #281 | GPU numerical validation tests |
| #282 | vs NumPy benchmarks + PR comments |
| #283–#285 | Vulkan gating, conv2d, ComputeContext tests |
| #304 | Vulkan Conv2D backward d_weight GEMM layout fix |
| #305 | Vulkan 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)
| Priority | Issue | Topic |
|---|---|---|
| P1 | #225 | Windows build |
| P2 | #91 | BLAS on macOS validation |
Post-beta tracking
| Priority | Issue | Topic |
|---|---|---|
| P1 | Phase H | Multi-GPU (device_id, data parallelism) |
| P1 | Phase I | GPU memory pool / zero-copy |
| P2 | #226 | VCL examples |
| P2 | — | CUDA variants of benchmarks/vs_numpy/ in CI |
| P2 | — | Extended Vulkan↔CUDA numerical cross-check |
| P2 | — | Vulkan 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