Vx——一种语言,赋能每颗芯片
Vx – One Language, Every Chip

原始链接: https://vxlang.org/

大多数编译器都会硬编码一套成本模型。Vx 会读取该模型。机器文件描述真实器件的内存层级和互连结构,编译器据此决定是否接受相应的放置。单位采用精确的整数转换,绝不使用浮点数:SI 前缀使用十进制(GB = 10⁹),IEC 前缀使用二进制(GiB = 2³⁰)。从厂商资料表复制而来的数值,应保持资料表原本的含义。仓库提供 H100、H200、B200、A100、MI300X、Apple M4 以及多 GPU 节点的机器文件——每个文件都注明来源,并将未经验证的数值标记为未验证。 ```text 内存 HBM { 容量: 80 GiB, 带宽: 3.35 TB/s, 管理方式: 显式, 作用域: 设备 } 内存 L2 { 位于: 内存::HBM, 容量: 50 MiB, 带宽: 12 TB/s, 管理方式: 缓存 } 内存 SMEM { 位于: 内存::L2, 容量: 228 KiB, 带宽: 128 B/cyc, 时钟: 1.98 GHz, 副本数: 132, 粒度: 1 KiB, 作用域: sm } 拓扑 设备 { 架构: nvptx64, 内存: 内存::HBM, 传输 内存::CPU_DRAM -> 内存::HBM : 63 GB/s } ```

Hacker News 上关于 Vx 的讨论。Vx 是一种新语言,面向运行在 CPU、GPU、NPU 及其他异构硬件上的高性能、对正确性要求严格的程序。它使用 LLVM/MLIR,将数据放置方式编码到类型系统中,并依赖机器描述文件来建模内存层次、互连、设备所有权和设备拓扑。编译器可以针对特定硬件配置对程序进行专门化处理,并在编译时拒绝无效的数据放置方案。 评论者认可 Vx 明确而务实的定位,也赞成将加速器语义从不透明的运行时中移出来的想法。其他人则质疑是否有必要引入一门新语言,并指出 Vx 与 Rust 和 Mojo 存在相似之处,且采用了类似 Rust 的生命周期处理方式。 讨论很大一部分集中在静态验证上:争论的焦点是,应该使用高级类型系统来 enforcing 资源、放置和安全方面的不变量,还是可以在使用更简单语言的同时,通过集成在编译器中的分析或外部静态分析提供同样的保证。FFI 的不透明性、误报、编译器复杂性以及分析覆盖率,都是反复出现的担忧。 多位评论者还批评 Vx 的宣传信息不够清晰,并怀疑其营销内容是由 AI 生成的。总体而言,这个想法被认为很有前景,但仍需要更清晰的文档和实际验证。
相关文章

原文

Most compilers hard-code a cost model. Vx reads one. A machine file describes the memory hierarchy and interconnect of a real part, and the compiler admits or rejects placements against it.

Units are exact integer conversions, never floats: SI prefixes are decimal (GB = 109), IEC are binary (GiB = 230). A figure copied off a vendor sheet means what the sheet meant.

The repository ships machine files for H100, H200, B200, A100, MI300X, Apple M4 and multi-GPU nodes — each citing its sources, and marking unverified figures as unverified.

Memory HBM  { capacity: 80 GiB, bandwidth: 3.35 TB/s,
              managed: explicit, scope: device }

Memory L2   { within: Memory::HBM, capacity: 50 MiB,
              bandwidth: 12 TB/s, managed: cached }

Memory SMEM { within: Memory::L2, capacity: 228 KiB,
              bandwidth: 128 B/cyc, clock: 1.98 GHz,
              replicas: 132, granule: 1 KiB, scope: sm }

Topology Device {
    arch: nvptx64,
    memory: Memory::HBM,
    transfer Memory::CPU_DRAM -> Memory::HBM : 63 GB/s,
}
联系我们 contact @ memedata.com