Vx、デバイスポインタの参照ミスをコンパイルエラーにする新言語
Vx – One Language, Every Chip

Vxは、CPU、GPU、NPU、アクセラレータのメモリを型システムに組み込んだシステムプログラミング言語だ。ホストスレッドがデバイスポインタを参照するとコンパイルエラーになる。データの所在が型の一部となり、転送は明示的に記述。コンパイラはアドレス空間、容量、非同期転送の可視性などを静的に検査する。機械ファイルでハードウェアを宣言し、H100やApple M4などに対応。MLIR経由でLLVMやPTXにコンパイルされる。
異種性はランタイムではなく、型システムに属する。
HNでの議論
32- pdpi
> Vxは、10種類のシリコン上で正確かつ高速でなければならないものに適した言語だ。まだ模索中のものに適した言語ではない。
少し脱線するけど、彼らがこの区別をしてくれたことを本当に*本当に*ありがたく思うし、もっと多くの人にこうしてほしい。あまりにも多くのツールが、あらゆる人々のあらゆる用途に応える万能薬として宣伝しようとしていて、それは誰の役にも立たない。
- jack_h
「Cは低レベル言語ではない:あなたのコンピュータは高速なPDP-11ではない」など、長年にわたって出てきたいくつかの批判を思い出す。今は思い出せない他のものもある。要するに、我々の「低レベル」言語は70年代からほとんど変わっていない抽象マシン上で動くように設計されている一方で、それが抽象化しようとしている実際のハードウェアは信じられないほど洗練されてきた。簡単な例として、コンパイラのintrinsicに頼ったりオプティマイザに期待したりせずに、SIMDサポートのような単純なものを備えているプログラミング言語がどれだけあるか考えてみてほしい。
実はこのアイデアをめぐって、いくつかの実験的なDSL埋め込みを作ったことがある。とても魅力的な分野だと思うからだ。Vxのドキュメントをざっと読んだ限りでは、柔軟性を高めるために抽象マシンの一部を型システムに移しているように見える。
- dreamoffire
「最高のプログラミング言語が欲しい!Rust、Mojo、Zigのどこが人々に好かれているかを見て、その仕様を考え出してくれ!
ああ、未来のことも考えないと…GPUで動くようにしてくれ。
あまりLLMっぽく聞こえないように。
失敗するなよ。」
まあ、幸運を祈るよ。
- yewenjie
なぜかVlangの雰囲気を感じるのはなぜだろう
- png732
これがVxと名付けられた背景には何かあるのだろうか?VxWorks OSと少し近すぎて落ち着かないが、関連はなさそうだ。