Vx – One Language, Every Chip
4 hours ago
- Vx is a systems programming language for heterogeneous computing that integrates memory locality and accelerator semantics into the type system, catching errors like invalid pointer dereferences at compile time.
- Data transfers between different memory spaces (e.g., host DRAM, NPU HBM) require explicit `transfer()` calls, even on unified memory, making data locality provable from source code.
- The compiler uses a declared machine file that describes memory hierarchy and interconnect, enabling static validation of placements against actual hardware specifications.
- Type-checking rules include address-space typing, capacity admission, seam contracts, linear types, topology reachability, and autodiff, preventing runtime crashes and silent corruption.
- Compilation employs a data-oriented parallel frontend with flat 256-bit identifiers and MLIR, producing byte-identical output regardless of parallelism or build order.
- Backends support CPU (x86-64, arm64), NVIDIA GPU (via PTX/SASS), Apple AMX/ANE (via CoreML plugin), and distributed systems via a wire protocol.
- Vx is ideal for performance-critical, correct multi-architecture code but is not suited for dynamic, exploratory programming typical of PyTorch workflows.