Cua、macOS VMs内のLLMsを高速化するMetalシムを出荷

プロセススコープのレイヤーが llama.cpp の GPU パスを有効化し、Cua の M1 Ultra テストで最大16.36倍高速な生成を実現した。

By · Published

Primary source: X

Why it matters

Cua's release turns an apparent VM hardware limit into a software capability-selection problem, making isolated macOS inference practical for more agent workloads if the results hold across chips and runtimes.

Cua ships a Metal shim that accelerates LLMs inside macOS VMs — The process-scoped layer unlocked llama.cpp GPU paths and delivered up to 16.36x faster generation in Cua's M1 Ultra tests.

Cua 創業者 Francesco Bonacci (@francedot) は8月11日にオープンソースの Metal 機能レイヤーをリリースしました。Cua によると、これは Apple Silicon 上の macOS 仮想マシン内での llama.cpp 推論を大幅に高速化します。

このリリースは Apple の仮想化スタックにおける狭いボトルネックに対処するものです。Apple の Virtualization.framework はすでに macOS ゲストがパラ仮想化されたグラフィックスデバイスを通じてホスト GPU に Metal ワークを送ることを可能にしています。Cua は、標準の macOS Tahoe ゲストが保守的な能力プロファイルを報告しており、その結果として llama.cpp が仮想 GPU で実行できるより高速なカーネルを無効にしていることを発見しました。

Cua のレイヤーは単一プロセスのためにそれらの能力応答を変更します。X 上の a thread on X で、Cua は M1 Ultra 上で3つのモデルに対してプロンプト処理で7.20x〜11.08x、トークン生成で8.87x〜16.36xの改善を報告しました。

Bonacci は 2025年3月に Microsoft を離れた後、サンフランシスコで Cua を設立しました。彼と共同創業者の Dillon DuPont (@ddupont808) は Microsoft 在職中に Windows Agent Arena(デスクトップエージェントのベンチマークおよびテストプラットフォーム)で働いていました。Bonacci は Cua を Lume (https://github.com/trycua/cua) で開始し、これは Apple Silicon 上のネイティブな macOS と Linux VM のためのオープンソース管理ツールです。Cua は Y Combinator の X25 バッチに参加し、その後クロスプラットフォームサンドボックス、コンピュータ制御ドライバ、エージェントベンチマークへと事業を拡大しています。

仮想 GPU が遅い経路を取っていた

Cua のテストでの標準 Tahoe ゲストは Apple GPU family 5 と最大スレッドグループメモリが32 KB と報告しました。llama.cpp は Metal カーネルを選択する前にこれらの値を読み取ります。報告されたプロファイルに基づき、SIMD-group reduction、SIMD-group matrix operations、および bfloat16 サポートを無効にしました。

Cua の プロセススコープの互換性レイヤー は選択された Metal クエリを傍受し、Apple family 9 を通じたサポートを報告し、同時にスレッドグループメモリの回答を64 KB に引き上げます。ホストブリッジ、仮想 GPU、およびゲストカーネルは変更されません。

この違いは重要です。なぜなら Cua はこの作業をより馴染みあるラベルである GPU passthrough としても説明しているからです。このリリースは M1 Ultra の物理 GPU をゲストに直接割り当てるものではありません。Apple のパラ仮想化された GPU 経路をそのまま維持し、注入された単一プロセスがそのデバイスをどのように認識するかを変更します。

Apple の Metal feature tables は M1 系列の GPU を Apple family 7 に分類しています。Cua の family 9 の回答は物理ハードウェアの検出ではなく、検証された互換性プロファイルです。Cua は、各追加の Metal ワークロード、ホストチップ、macOS の組み合わせが別個の検証を必要とすると述べています。

Cua's Metal capability benchmark
Cua はプロセススコープの Metal 機能レイヤーを注入する前後で llama.cpp の推論を測定しました。図:Cua.

Cua のベンチマークはベアメタル速度に迫る

TinyLlama 1.1B Q4_K_M では、Cua はプロンプト処理が 431.86 トークン/秒から 4,786.70 トークン/秒へと増加し、11.08x の向上を記録しました。トークン生成は 12.63 トークン/秒から 206.60 トークン/秒へと増加し、16.36x となりました。アンロックされたプロンプト処理結果は Cua の 4,871.99 トークン/秒のベアメタル測定値の98.25% に達しました。

生成に関しては仮想化のギャップがより大きく残りました。ベアメタルの生成は 286.71 トークン/秒に達し、アンロックされた VM はホスト性能の72.06% でした。Cua は TinyLlama の数値を各ワークロードについて10回の llama-bench サンプルの中央値から算出しました。

Cua は Google の Gemma 4 12B instruction-tuned QAT Q4_0 モデルでもテストを繰り返しました。プロンプト処理は 71.66 トークン/秒から 515.76 トークン/秒に増加し、生成は 3.41 トークン/秒から 49.67 トークン/秒に増加しました。これらのアンロック結果は Cua の対応するベアメタル測定値の99.59% および94.82% に達しました。公開された Gemma の証拠セットは10サンプルの中央値、モデルハッシュ、ベンチマークログを含んでいます(https://github.com/trycua/cua/tree/main/evidence/lume-metal-capability-shim/2026-08-10-m1-ultra-gemma4)。

Meta の Muse Glimmer 30B Q4_K-M については、64 GiB の Tahoe ゲストで実行した結果、Cua はプロンプト処理が 25.83 トークン/秒から 194.97 トークン/秒へ、生成は 2.38 トークン/秒から 21.08 トークン/秒へと増加したと報告しました。Muse Glimmer の証拠セット(https://github.com/trycua/cua/tree/main/evidence/lume-metal-capability-shim/2026-08-11-m1-ultra-muse-glimmer-64g)は3回の実行の中央値を使用し、テキストのみの llama.cpp 推論を対象としています。Ollama、モデルのマルチモーダルプロジェクタ、および推測デコーディングは除外されています。

これらの結果は単一の M1 Ultra 上で Cua が実行したベンチマークに留まります。Cua はソース、ビルドスクリプト、チェックサム、生の出力、環境記録をリポジトリの MIT ライセンスの下で公開しており、他の開発者がこれらの測定を再現または検証するのに十分な資料を提供しています。

MLX が境界を露呈した

Cua は Metal ソフトウェア全体で一般的な性能向上を見つけたわけではありません。MLX-LM はテストでほぼ横ばいで、プロンプト処理は 1,656.55 トークン/秒から 1,665.47 トークン/秒へ、生成は 172.09 トークン/秒から 170.86 トークン/秒へと変化しました。

以前のより広い能力プロファイルは、MLX が Metal 3 サポートを広告したときにデバイス初期化の失敗も引き起こしました。Cua の 技術的な解説 によれば、MLX はその後パラ仮想化デバイスが作成できないレジデンシーセットを要求しました。Cua はその失敗の後、リリースを Apple-family とスレッドグループメモリの回答に絞りました。

現在の実装はホストで無制限のデバイス機能レベルを有効にし、選択したゲストプロセスに動的ライブラリを DYLD_INSERT_LIBRARIES を通じて注入することを必要とします。Hardened やプラットフォーム保護された実行ファイルはその注入を拒否する可能性があります。環境変数を削除するとワークロードは元の能力パスに戻ります。

Cua はまた、この方法をゲストの Metal 実装におけるプライベートな振る舞いに依存しているため実験的でバージョンに敏感であると説明しています。将来の macOS リリースでその振る舞いが変わる可能性があります。Bonacci にとっての当面の賭けは、Apple Silicon VM がローカル推論をホスト速度に近い形で実行するのに十分な GPU 能力を含んでいるということであり、開発者がどの保守的な能力チェックがより高速なカーネルをブロックしているかを特定できれば実現可能だということです。

Reader comments

Conversation for this story loads after sign-in.