Hasty Briefsbeta

双语

Vx – One Language, Every Chip

4 hours ago
  • Vx是一种适用于异构计算的系统编程语言,它将内存局部性和加速器语义集成到类型系统中,在编译时捕获诸如无效指针取消引用之类的错误。
  • 不同内存空间(如主机DRAM、NPU HBM)之间的数据传输需要显式的 `transfer()` 调用,即使在统一内存上也是如此,这使得数据局部性可以从源代码中得到证明。
  • 编译器使用声明的机器文件来描述内存层次结构和互连,从而能够根据实际硬件规格对布局进行静态验证。
  • 类型检查规则包括地址空间类型化、容量准入、接缝契约、线性类型、拓扑可达性和自动微分,防止运行时崩溃和静默损坏。
  • 编译采用面向数据的并行前端,具有平坦的256位标识符和MLIR,无论并行性或构建顺序如何,都产生字节相同的输出。
  • 后端支持CPU(x86-64、arm64)、NVIDIA GPU(通过PTX/SASS)、Apple AMX/ANE(通过CoreML插件)以及通过线路协议的分布式系统。
  • Vx非常适合性能关键、正确的多架构代码,但不适合典型的PyTorch工作流程中的动态探索性编程。