Array programming
Generic N-dimensional tensors with slicing, broadcasting, reshape, transpose and view-preserving axis moves — the NumPy mental model, typed in V.
First steps tutorial →VTL is a pure-V tensor library for numerical computing and machine learning — N-dimensional arrays, reverse-mode autograd, and a full neural-network module, powered by VSL kernels on CPU, CUDA and Vulkan.
Install V, add VTL, and run real tensor code. VTL uses VSL as its numerical backend for linear algebra and scientific kernels.
# install both modules v install vtl // main.v — create, reshape, differentiate import vtl fn main() { t := vtl.from_array([1.0, 2, 3, 4], [2, 2])! println(t.get([1, 1])) // 4.0 }
Start where you are: array programming, model training, or the raw numbers behind both.
Generic N-dimensional tensors with slicing, broadcasting, reshape, transpose and view-preserving axis moves — the NumPy mental model, typed in V.
First steps tutorial →Reverse-mode autograd, neural-network layers and losses, optimizers, datasets and CPU training today, with selected CUDA and Vulkan paths.
Autograd tutorial →Linear algebra, statistics and scientific routines come from VSL, with SIMD-vectorized BLAS-style kernels and optional OpenBLAS/LAPACKE backends.
VSL website →An honest ledger, not a marketing claim. Every row links to the tracked parity documents, which list what is implemented, partial, and still missing.
| Domain | Status | Notes |
|---|---|---|
| Array creation & manipulation | Implemented | Creation, reshape/transpose views, stacking, padding, sorting; copy-vs-view audit ongoing. |
| Indexing & set operations | Implemented | Advanced/mixed indexing, unique, searchsorted, take/put families, boolean masks. |
| Math, reductions & statistics | Implemented | Elementwise math, axis reductions, quantiles and histogram family via VSL. |
| FFT & linear algebra | Implemented | FFT modules plus VSL-backed decompositions and solvers. |
| Autograd | Implemented | Reverse-mode graphs with fused gate backward kernels; gradient-checked. |
| Neural networks | Partial | Layers, losses, optimizers and sequential models; some CUDA backward paths still land. |
| GPU backends | Partial | CUDA and Vulkan paths for selected ops; OpenCL compute dispatch incomplete. |
| Serialization & data | Implemented | NPY/NPZ, CSV, model checkpoints and DataLoader utilities. |
Full detail: NumPy parity tracker · PyTorch parity tracker. Gaps are tracked as GitHub issues and close only with API, tests and examples in place.
Matrix multiplication through the VSL backend on a Ryzen 9 5900X, 2 threads, against the NumPy 2.5.3 wheel. Builds differ; treat this as a GEMM sample, not a blanket speed claim.
Method: compile benchmarks with -prod first, then execute the binary — never v run for timings. Reproduce from the benchmarks directory.