Vx – 一つの言語、すべてのチップ

2026/10/04 2:23

Vx – 一つの言語、すべてのチップ

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

Vx は、型システム内でのメモリ階層規則の強制を通じて、多様な計算ハードウェア上でクラッシュフリーな実行を確保するために設計されたシステムプログラミング言語です。PyTorch のように動的なランタイム動作を許可するフレームワークとは異なり、Vx はコンパイル時正しさを最優先し、明示的なデータ移動を要求し、ループ中のアーキテクチャやテンソルの形状の変更を禁止します。このアプローチにより、コードが実行される前にセグメンテーションフォールトなどの一般的なクラッシュを防ぎます。本言語は、フラットな 256 ビットの識別子を使用してロックフリーな並列コンパイルを実現する専用コンパイラ、そして推測ベースのパフォーマンスモデルではなく実際のハードウェアインタコネクトを記述した検証済みの機械ファイルを読み取ることで、このアプローチを達成しています。これらの入力ファイルは仕様に関する出典を引用し、未検証データをマークします。現在、出荷前に用意されたファイルでは、NVIDIA H100/B200 シリーズ、AMD MI300X、Apple M4 スイリコンなど特定のデバイスをサポートしており、x86-64 CPU から高度な GPU までをカバーする LLVM IR ベンダバックエンドに対応します。アクセラレータを独自のデータ局所性特性を持つファーストクラスのセマンティック実体として扱うことで、Vx は多様なスイリコンタイプを超えた保証された速度と信頼性が不可欠で明確に定義された問題に対して、実験的なデバッグや危険なメモリアクセスパターンを必要としない堅牢なソリューションを提供します。

本文

Vx: 異種コンピューティングのための次世代システム言語

Vx は、CPU、GPU、NPU、アクセラレータメモリを型システムの一部として統合したシステムプログラミング言語です。これにより、ホストスレッドがデバイスポインタに不正アクセスしようとした場合、深夜のセグメンテーション・フォルトではなくコンパイル時エラーとして検出されます。

インストール方法

公式ドキュメントで macOS (Apple Silicon) や Linux x86_64 へのインストール手順を確認してください。

curl -fsSL https://vxlang.org/install.sh | sh

注釈: 「異種性」はランタイムの概念ではなく、型システムに属するべきものです。データが存在する場所は、その型の一部分となります。

アクセラレータをセマンティクスとして扱う

多くの言語ではアクセラレータを不透明なインフラストラクチャと見なしますが、Vx ではそれを意味論(セマンティクス)の一部として扱います。

  • 明示的な転送関数: NPU の高速メモリにピン留めされたテンソトとホストの DRAM にあるテンソトは異なる型を持ちます。ハードウェア上の境界を跨ぐコストが実質ゼロであっても、両者の間を行き来するには明示的な
    transfer()
    関数を呼び出す必要があります。
  • データ局在性の証明: Apple の統一メモリ上ではデータ転送のコードはコンパイルで最適化されますが、ソースコードに書式を残すことで、データの局在性を直接読み込むことで証明できるようにしています。

実装例: NPU メモリ上の行列積計算

// NPU メモリにすでに resident な 2 つの行列。
fn custom_matmul(
    a: Pinned<Tensor<f32, [4, 4]>, Topology::NPU[0]>,
    b: Pinned<Tensor<f32, [4, 4]>, Topology::NPU[0]>)
    -> Verified<Tensor<f32, [4, 4], Memory::NPU_HBM>> {

    let mut result =
        Tensor<f32, [4, 4], Memory::NPU_HBM>::uninit();

    // 計算をアクセラレータにディスパッチする。
    spawn on(Topology::NPU[0]) {
        for i in 0..4 {
            for j in 0..4 {
                result[i][j] = 0.0;
                for k in 0..4 {
                    result[i][j] += a[i][k] * b[k][j];
                }
            }
        }
    }

    Verified(result)
}

コンパイラによって排除される問題点

Vx の型システムは以下の課題をコンパイル時点で解決します。

  • アドレス空間タイピング: デバイスポインタをホスト側から参照する際の型安全性を確保し、
    Pinned<T, NPU_SRAM>
    タイプのデータがホストの型システムに流出することを防ぎます。
  • キャパシティ承認 (Capacity admission): 宣言されたマシンの仕様に照らし合わせ、作業セットが入りそうなメモリ領域への配置を事前に検証します。不適切なケースはバイナリ実行前に拒否されます。
  • シーム契約 (Seam contracts): 非同期転送中にバッファの内容を読み取る行為が、SMT プロバーによって論理的に不可能であることを証明し、コンパイル時点で除外します。
  • 線形型 (Linear types): 消費されたバッファの使用禁止と借用チェックャーによる領域追跡を組み合わせた、安全なデータフロー制御を実現します。
  • トポロジー到達可能性: 宣言された経路が存在しない二つのメモリ空間間での転送を試みた場合、コンパイルエラーとなります。
  • オートディファ (Autodiff): 副変数が定義されていない領域を通じて微分計算を行う試みを、型システム上で排除します。

マシンは宣言され、仮定されるものではない

既存のコンパイラがコストモデルをハードコーディングする一方、Vx は実際のハードウェア定義ファイルを参照して読み込みます。

  • 厳密な単位の扱い: 単位表現は常に厳密な整数変換です(SI 接頭辞 $10^9$、IEC 系 $2^{30}$)。ベンダー資料の記載を厳格に尊重します。
  • 多様なハードウェア対応: H100, H200, B200, A100, MI300X, Apple M4 などのマシンファイルが含まれています。未検証の数値は明示的にマークされます。

マシン定義の例

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,
}

コンパイルの仕組み

データ指向並列フロントエンド

すべてのシンボル、ノミナル型、バリアントは256 ビットのフラットな識別子として表現されます。

  • ロックフリー並列化: 再帰型への必須ボックスリングにより結合度が低減され、クエリエンジンがコア間で並列に動作します。
  • MLIR バイトコードの同一性: 同じソースコードを単一スレッドでも並列でもビルドした場合、生成される MLIR は完全に同一となります(ハッシュシードで検証)。

バックエンド対応

対応するバックエンドには以下が含まれます:

  • CPU (x86-64, arm64):
    MLIR
    →
    LLVM IR
    → ネイティブコード(AOT/JIT)
  • NVIDIA GPU:
    MLIR
    →
    NVVM
    →
    PTX
    →
    SASS
  • Apple AMX / ANE: プラグイン経由で CoreML 基本命令へのディスパッチ
  • 分散管理: Manifest に基づくワイヤプロトコルによるリモートリージョン管理
  • 拡張性: ベンダーはコンパイラをパッチングせず、MLIR パスプラグインを通じて拡張します。

Vx が不適切なツールになる場所

Vx は特定のユースケースには向いていません。

  • 動的なアーキテクチャ変更: PyTorch ユーザーがループ内でテンソルの形状を変えたり分岐を行ったりする「ダイナミズム」は、Vx の静的なリージョン化環境では実装に多大な労力を要します。
  • 仕様未定のシステム: シリコンの仕様がまだ模索中であれば、Vx が最適とは限りません。

まとめ

Vx は 10 種類の異なるシリコン上で正しくかつ高速に動作するタスクに適した言語です。異種コンピューティングを型で保証することで、ランタイムエラーを防ぎ、ハードウェアの詳細をコード内に記述可能にします。

同じ日のほかのニュース

一覧に戻る →

2026/10/04 7:07

連邦裁判官が「Flock」を「恣意的な大規模監視」と批判

## 日本語翻訳: Tulsa の連邦裁判所は、最近の重要な判決において、シエリフ補佐官が Flock Safety を用いて令状なしに女性のナンバープレートを検索した行為が第四条修正(第 4 条修正)の権利を侵害したと判断し、ヒル判事はその捜索が彼女の車両にカリフォルニア州のナンバープレートがあることのみによる動機付けであるように見ると指摘しました。同判決は拘束力のある先例を確立するものではありませんが、このデータベースに対する自動化された検索が無憲法違反であると宣言する最初の連邦判決の一つとして位置づけられます。ヒル判事は、「公衆の所在を目録化するような恣意的な大規模監視」を「合憲的な問題がある」と非難し、Carpenter v. United States において取り扱われたターゲット指向のアプローチとは区別しました。Flock データを通じてメタン 91 ポンドが発見されたことを受け、ヒル判事は証拠を「有毒の木の果実」として押収 orders の発令しました。この事件は、政治的・法的な反対が高まっている時期に登場しています:Bernie Sanders 上院議員は、連邦機関がそのような自動読み取り装置を使用することを禁ずる Block Flock 法案を導入し、フロリダ州やテキサス州を含む各州ではこの技術の使用を停止する計画を発表しました。これに対し、Flock の CEO の Garretty Langley は、Flock を使用する法執行ユーザーによってストーキングされた女性らに謝罪するとともに、プライバシーと安全との間の妥協点を求める呼びかけを行いました。一方、キャンセルが増える中、同社は従業員への自主的な退職支援(voluntary buyout)を開始し、人員削減を図っています。

2026/10/04 3:06

ホールパンチ:重力場をスリングして宇宙船を操る

## 日本語訳: 提供されたテキストには実質的な情報が含まれておらず、単に特定の項目識別子のみを特定しており、それに関連する文脈が欠落しています。証拠、根拠、または背景の詳細がないため、意味のある物語を構築したり、中心的なメッセージを特定したりすることは不可能です。さらに、入力にはより広いトピックを理解するために不可欠な将来の発展、潜在的な影響、または関連事例について言及されていません。したがって、この断片単体から論理的な要約を導き出すことはできません。有効な概要を作成するには、項目の説明、重要性、および関連する周囲の状況を含む全文書へのアクセスが必要です。現状のままでは、テキストは単に生粋の参照コードとして機能し、コミュニケーションのための文章ではありません。そのような限られたデータを要約しようとすることは、当然ながら推測や捏造を招き、利用可能な事実に基づく正確性の要求に違反します。したがって、唯一妥当な結論は、問題となる項目に関するいかなる主張または討論も支えるのに不十分であるということです。 ## 翻訳元のテキスト: ## Summary: The provided text contains no substantive information because it identifies only a specific item identifier without any accompanying context. Without evidence, reasoning, or background details, it is impossible to construct a meaningful narrative or identify a central message. Furthermore, the input lacks any mention of future developments, potential impacts, or related cases that are essential for understanding a broader topic. Consequently, no logical summary can be derived from this fragment alone. To generate an effective overview, one would need access to the full document containing the item's description, its significance, and any relevant surrounding circumstances. As it stands, the text functions merely as a raw reference code rather than a communicative passage. Attempting to summarize such limited data would inevitably result in speculation or fabrication, which violates the requirement for accuracy based on available facts. Therefore, the only valid conclusion is that the source material is insufficient to support any claim or discussion regarding the item in question.

2026/10/04 3:01

ロダン美術館の3Dスキャン裁判判決での裏切り

## Japanese Translation: Cosmo Wenman は 2026 年 10 月 13 日(CEST 14:00–15:00)に「COMMUNIA Salon: The Rodin Case」にて、オーギュスト・ロダンの彫刻の 3D スキャンを巡る高プロファイルな情報公開に関する事件について検討する。著者が 2017 年にアクセス権の付与を求めた後、市民権活動家の Alexis Fitzjean Ó Cobhthaigh は Communia、Wikimédia France、La Quadrature du Net とともにその代理を務め、CADA(行政裁判所)は 2019 年に著者の側で判決を下した。2023 年 12 月には、パリ行政裁判所がロダン美術館および文化省に対しスキャンの公開を命じるとともに、これらの機関から効果的な上訴を受けられなかった著者に€1,500 の損害賠償を付けた。本案はフランス最高行政法院である Conseil d'État に再審され、2025 年 12 月の判決において、rapporteure publique(公の報告官)はルネ・マジットの『イメージの裏切り』に言及し、スキャンが物理的な原本なしには不可読であると主張した。Conseil d'État は、3D スキャンを物理的な複製と法的に区別できないものと認定し、これを行政文書ではなく譲渡不能な芸術コレクションの一部として分類した。裁判所はパリの判決を破棄し、著者に€3,000 の支払いを命じ、決定について書面による通知を発しなかった。Wenman は、この結局が情報公開(FOI)メカニズムの潜在的な濫用を示している点を分析する。その中で、手続的な動きや技術的な定義を用いて、機関が開示義務から守られることが可能になることを指摘する。