CPUとGPUはどうやって連携しているのか? ― メーカーが違っても動く仕組みとグラフィックスAPIの全体像
はじめに
「外付けGPU(eGPU)をつなぐと、CPUがタスクを自動でGPUに振り分けてくれる」と思っていませんか? 実はそうではありません。本記事では次の疑問を順に解きほぐします。
- CPUとGPUはどうやってやり取りしているのか
- Intel と NVIDIA、Apple と NVIDIA のようにメーカーが違ってもなぜ連携できるのか(あるいはできないのか)
- GPUを足せば必ず速くなるのか
- よく聞く Vulkan とは何で、ほかにどんな選択肢があるのか
1. 結論:タスクを振り分けるのはCPUではなく「ソフトウェア」
CPUが自動で「これはGPU向き」と判断しているわけではありません。どの処理をGPUに任せるかは、アプリ開発者がコードの中で明示的に決めています。CPUはその指示に従って、GPU向けの命令を準備して渡すだけです。
CPU→GPUの流れ
sequenceDiagram
participant App as アプリ
participant API as API<br/>(Vulkan / DirectX / Metal / CUDA)
participant Drv as GPUドライバ<br/>(GPUメーカー製)
participant Mem as メモリ<br/>(コマンドバッファ)
participant GPU as GPU
App->>API: 「三角形を描いて」「行列を掛けて」
API->>Drv: 共通形式の命令
Drv->>Drv: GPU専用の機械語・コマンドに翻訳
Drv->>Mem: コマンドとデータを書き込む
Drv->>GPU: 「準備できた」と通知
GPU->>Mem: PCIe経由でDMA読み込み
GPU->>GPU: 並列に実行
GPU-->>App: 結果(画面出力 or メモリへ書き戻し)
ポイントは、CPUが細かく手渡ししているのではなく、「指示書(コマンドバッファ)をまとめてメモリに置き、GPUがそれを自分で取りに行く」 という関係であることです。GPUはDMA(CPUを介さない直接メモリアクセス)でデータを読み込みます。
2. メーカーが違っても連携できる理由
CPUはx86やARMの命令で動き、GPUはメーカー独自の命令で動きます。両者は互いの命令を理解する必要がありません。間に「共通の規格」と「ドライバ」が挟まっているからです。
flowchart TB
A["アプリケーション<br/>(ゲーム・AI・動画編集など)"]
B["共通API<br/>Vulkan / DirectX 12 / Metal / CUDA"]
C["GPUドライバ<br/>NVIDIA / AMD / Intel / Apple"]
D["OS<br/>Windows / Linux / macOS"]
E["接続規格(業界共通)<br/>PCIe / Thunderbolt / USB4"]
F["GPUハードウェア<br/>(メーカー独自の命令セット)"]
A --> B --> C --> D --> E --> F
style B fill:#dbeafe,stroke:#3b82f6
style C fill:#fef3c7,stroke:#f59e0b
style E fill:#dcfce7,stroke:#22c55e
連携に必要な条件は2つだけです。
| 条件 | 役割 | 誰が用意するか |
|---|---|---|
| 接続規格 | データを物理的に運ぶ | 業界団体(PCIe、Thunderbolt、USB4など) |
| ドライバ | 共通APIとGPU独自命令の橋渡し | GPUメーカー(またはサードパーティ) |
CPUのメーカーは関係ありません。 ドライバが相手にしているのは「OS」と「PCIe」という共通の土台だからです。
ケース1:Intel × NVIDIA ― 問題なく動く
PCで最も一般的な組み合わせです。PCIeは業界標準、ThunderboltはもともとIntelが開発した規格で、NVIDIAはWindows・Linux向けに公式ドライバを提供しています。2つの条件がそろっているので問題なく動きます。
ゲーミングノートPCでよく使われるNVIDIA Optimusでは、普段はIntel CPU内蔵の省電力GPUを使い、ゲームなど重い処理のときだけNVIDIA GPUに切り替えます。この切り替えを判断しているのもCPUではなくドライバとアプリごとの設定です。
さらに両社は協業を深めています。2025年9月、IntelがNVIDIA NVLinkを備えたデータセンター向け・クライアント向けのカスタムCPUを設計・製造し、NVIDIAがIntel普通株に50億ドルを投資すると発表されました。PC向けには、NVIDIA RTX GPUのチップレットを統合したx86 SoCをIntelが開発・販売する計画です。CPUとGPUの距離が縮まれば、後述する「転送コスト」の問題が小さくなることが期待されます。
ケース2:Apple × NVIDIA ― 「ドライバの壁」の典型例
こちらは接続規格はそろっていてもドライバがなければ動かないことを示す好例です。
timeline
title Mac と 外付けGPU の歴史
2018 : macOS High Sierra 10.13.4 で eGPU を公式サポート(Intel Mac のみ)
2020 : M1 Mac 登場、eGPU 非対応に
2025 : Tiny Corp が M3 Max MacBook Pro で NVIDIA RTX の動作に成功
2026 : Apple が Tiny Corp の eGPU ドライバを承認(AI 計算向け)
Intel Mac時代のeGPU対応について、Appleのサポートページでは、Macに内蔵されているものと同じGPUアーキテクチャのグラフィックカードのみがサポート対象とされており、実質AMD製が中心でした。M1世代のApple Silicon Macは外付けGPUに一切対応せず、NVIDIAのサポートはそもそも存在しない状態でした。
転機は2026年です。Tiny Corpが開発したTinyGPUはtinygradフレームワーク上に作られたmacOSアプリで、Apple承認のDriverKit拡張をインストールし、Thunderbolt/USB4経由でAMD(RDNA3以降)とNVIDIA(Ampere以降)のGPUと通信できるようにします。SIP(System Integrity Protection)を無効化する必要もありません。Tiny CorpはMac miniにRadeon RX 7900 XTXを接続し、Qwen 3.5 27Bを毎秒18.5トークンで動かせたと報告しています。
これはまさに「ドライバさえあれば、CPUのメーカーに関係なくGPUは使える」ことの実証です。ただしこのドライバはGPUメーカー製ではなくAI計算向けのもので、ゲーム用途は想定されていません。
3. GPUを足せば必ず速くなる? → 保証されない
flowchart TD
S["この処理をGPUに任せるべき?"] --> Q1{"同じ計算を大量のデータに<br/>並列で行う処理か?"}
Q1 -- "いいえ<br/>(分岐が多い・逐次的)" --> CPU["CPUの方が速いことが多い"]
Q1 -- "はい<br/>(画像・行列演算など)" --> Q2{"計算時間 > データ転送時間 か?"}
Q2 -- "いいえ<br/>(小さい仕事を頻繁に)" --> CPU
Q2 -- "はい<br/>(大きな仕事をまとめて)" --> GPU["GPUで高速化できる"]
style CPU fill:#fee2e2,stroke:#ef4444
style GPU fill:#dcfce7,stroke:#22c55e
GPUに仕事を渡すにはデータ転送のコストがかかります。特に外付けGPUでは接続の帯域が大きな制約になります。
| 接続方式 | PCIeデータ帯域(目安) | 備考 |
|---|---|---|
| デスクトップ内部 PCIe 4.0 x16 | 約256 Gbps | GPU本来の性能(規格値からの概算) |
| Thunderbolt 5 | 約64 Gbps | |
| Thunderbolt 3 / 4、USB4 | 約32 Gbps | PCIe 3.0 x4 相当 |
実測例として、Notebookcheckのレビューでは、RTX 4090をThunderbolt接続のeGPUで使うとPCIe 3.0 x4の速度でしか動かず、ベンチマーク全体で約33%遅くなったと報告されています。また、ノートPCの内蔵画面に映すと描画結果をケーブルで送り返す分さらに不利になるため、eGPUに外部モニターを直接つなぐと性能が改善することがあります。
だからこそ、ゲームエンジンやPyTorchのようなライブラリは、開発者がプロファイリング(計測)を重ねて「何をGPUに任せるか」を作り込んでいます。
4. Vulkanとは?
Vulkanは、アプリがGPUに命令を出すためのメーカー横断・OS横断の共通APIです。2章の図でいう「共通API」の層にあたります。
- 策定者:業界のメンバー企業が主導するコンソーシアム、Khronos Group
- 歴史:以前は「Next Generation OpenGL Initiative」と呼ばれていた、ゼロから設計し直されたAPI。2016年に正式リリース
- 特徴:アプリがGPUを直接細かく制御でき、シェーダーにはSPIR-Vという共通中間形式を使う
「低レベル」であることが最大の特徴です。Vulkanはより多くの作業と責任をアプリ側に負わせる設計で、手間は増える代わりにドライバの無駄な処理が減り、CPUの複数コアから並行して命令を準備できます。
シェーダーはSPIR-Vで配布され、各社ドライバが自社GPU向けの機械語に変換します。これが「CPUとGPUが互いの命令を知らなくてもよい」仕組みの具体例です。
5. Vulkanの代替・周辺技術の全体像
flowchart LR
subgraph G["① 描画API"]
VK["Vulkan<br/>(Khronos・横断)"]
DX["DirectX 12<br/>(Microsoft)"]
MT["Metal<br/>(Apple)"]
GL["OpenGL / ES<br/>(旧世代)"]
CON["ゲーム機専用<br/>(PlayStation / NVN)"]
end
subgraph C["② 計算API"]
CUDA["CUDA<br/>(NVIDIA)"]
ROCM["ROCm / HIP<br/>(AMD)"]
OCL["OpenCL<br/>(Khronos)"]
SYCL["SYCL / oneAPI<br/>(Intel 推進)"]
end
subgraph U["③ 上位の抽象化レイヤー"]
WGPU["WebGPU<br/>(W3C)"]
ENG["ゲームエンジン<br/>(Unreal / Unity)"]
end
U --> G
classDef node fill:#ffffff,stroke:#93c5fd,color:#1e293b
class VK,DX,MT,GL,CON,CUDA,ROCM,OCL,SYCL,WGPU,ENG node
style G fill:#e0f2fe,stroke:#7dd3fc,color:#0c4a6e
style C fill:#e0f2fe,stroke:#7dd3fc,color:#0c4a6e
style U fill:#e0f2fe,stroke:#7dd3fc,color:#0c4a6e
| 分類 | 代表例 | 主な用途・特徴 |
|---|---|---|
| ① 描画API | Vulkan、DirectX 12、Metal | Vulkanは横断型、DX12とMetalは各プラットフォーム専用 |
| ② 計算API | CUDA、ROCm/HIP、OpenCL、SYCL | AI・科学計算。CUDAが事実上の標準 |
| ③ 抽象化レイヤー | WebGPU、ゲームエンジン | 下のAPIを意識せず書ける |
WebGPUは、W3Cの仕様書でVulkan、Direct3D 12、Metalに効率よく対応付けられるようゼロから設計されたAPIと説明されています。
「翻訳レイヤー」がAPIの壁を溶かしている
flowchart LR
W["Windowsゲーム<br/>(DirectX)"] -- "Proton / DXVK" --> V1["Vulkan"] --> L["Linux / Steam Deck"]
A["Vulkanアプリ"] -- "MoltenVK" --> M["Metal"] --> MAC["Mac / iPhone"]
B["Webアプリ<br/>(WebGPU)"] --> X{"ブラウザが<br/>OSに応じて変換"}
X --> V2["Vulkan"]
X --> D2["DirectX 12"]
X --> M2["Metal"]
- Proton(Valve):DirectXの命令をVulkanに変換し、WindowsゲームをLinuxで動かす
- MoltenVK(Khronos):Vulkanの命令をMetalに変換し、Mac/iOSでVulkanアプリを動かす
- WebGPU:ブラウザが裏でOSに合ったネイティブAPIに変換する
まとめ
1. GPUに何を任せるかはCPUではなくソフトウェア(開発者)が決めている
2. メーカーが違っても連携できるのは、共通の接続規格(PCIe等)とドライバがあるから。CPUのメーカーは関係ない
3. 逆にドライバがなければ動かない(Apple × NVIDIAの長年の状況)。2026年にTiny Corpのドライバ承認で、AI計算用途に限って道が開けた
4. GPUを足しても必ず速くなるわけではない。並列性と転送コストのバランス次第で、eGPUは帯域の制約で3割程度遅くなる例もある
5. Vulkanはメーカー横断の低レベルAPI。DirectX 12・Metal・CUDA・WebGPUなどと用途ごとに棲み分けつつ、翻訳レイヤーによって境界は薄れつつある
参考文献
- Khronos Group「What is Vulkan?」 docs.vulkan.org
- Khronos Group「Khronos Reveals Vulkan API for High-efficiency Graphics and Compute on GPUs」 khronos.org
- W3C「WebGPU」 w3.org
- Apple サポート「Mac で外部グラフィックプロセッサを使う」 support.apple.com
- AppleInsider「Apple Silicon M1 Macs do not support eGPUs」(2020) appleinsider.com
- NYU Shanghai RITS「TinyGPU Brings NVIDIA and AMD eGPUs to Apple Silicon Macs」 rits.shanghai.nyu.edu
- GIGAZINE「ついにAppleシリコン搭載MacでNVIDIAやAMDのGPUを外部接続可能に」(2026) gigazine.net
- Tom's Hardware「Apple approves drivers that let AMD and Nvidia eGPUs run on Mac」 tomshardware.com
- tinygrad docs「eGPU for Mac」 docs.tinygrad.org
- NVIDIA「NVIDIA and Intel to Develop AI Infrastructure and Personal Computing Products」(2025) investor.nvidia.com
- Notebookcheck「Gigabyte Aorus RTX 4090 Gaming Box review」 notebookcheck.net
- Thunderbolt 4 / 5 の帯域:Framework Community community.frame.work 、Evetech evezone.evetech.co.za
- MoltenVK(GitHub) KhronosGroup/MoltenVK
- Proton(GitHub) ValveSoftware/Proton
Mentions
MoltenVK (Vulkan on Metal) was deprecated in favor of KosmicKrisp
MoltenVKがコミュニティによるベストエフォートメンテナンスモードに入った。macOS on Apple SiliconでのVulkan on MetalはKosmicKrispを使用することが推奨される。 KhronosGroup/MoltenVK
CPUとGPUはどうやって連携しているのか? ― メーカーが違っても動く仕組みとグラフィックスAPIの全体像 はじめに 「外付けGPU(eGPU)をつなぐと、CPUがタスクを自動でGPUに振り分けてくれる」と思っていませんか? 実はそうではありません。本記事では次の疑問を順に解きほぐします。 - CPUとGPUはどうやってやり取りしているのか - Intel と NVIDIA、Apple と NVIDIA のようにメーカーが違ってもなぜ連携できるのか(あるいはできないのか) - GPUを足せば必ず速くなるのか - よく聞く Vulkan とは何で、ほかにどんな選択肢があるのか 1. 結論:タスクを振り分けるのはCPUではなく「ソフトウェア」 CPUが自動で「これはGPU向き」と判断しているわけではありません。どの処理をGPUに任せるかは、アプリ開発者がコードの中で明示的に決めています。CPUはその指示に従って、GPU向けの命令を準備して渡すだけです。 CPU→GPUの流れ sequenceDiagram participant App as アプリ participant API as API<br/>(Vulkan / DirectX / Metal / CUDA) participant Drv as GPUドライバ<br/>(GPUメーカー製) participant Mem as メモリ<br/>(コマンドバッファ) participant GPU as GPU App->>API: 「三角形を描いて」「行列を掛けて」 API->>Drv: 共通形式の命令 Drv->>Drv: GPU専用の機械語・コマンドに翻訳 Drv->>Mem: コマンドとデータを書き込む Drv->>GPU: 「準備できた」と通知 GPU->>Mem: PCIe経由でDMA読み込み GPU->>GPU: 並列に実行 GPU-->>App: 結果(画面出力 or メモリへ書き戻し) ポイントは、CPUが細かく手渡ししているのではなく、「指示書(コマンドバッファ)をまとめてメモリに置き、GPUがそれを自分で取りに行く」 という関係であることです。GPUはDMA(CPUを介さない直接メモリアクセス)でデータを読み込みます。 2. メーカーが違っても連携できる理由 CPUはx86やARMの命令で動き、GPUはメーカー独自の命令で動きます。両者は互いの命令を理解する必要がありません。間に「共通の規格」と「ドライバ」が挟まっているからです。 flowchart TB A["アプリケーション<br/>(ゲーム・AI・動画編集など)"] B["共通API<br/>Vulkan / DirectX 12 / Metal / CUDA"] C["GPUドライバ<br/>NVIDIA / AMD / Intel / Apple"] D["OS<br/>Windows / Linux / macOS"] E["接続規格(業界共通)<br/>PCIe / Thunderbolt / USB4"] F["GPUハードウェア<br/>(メーカー独自の命令セット)"] A --> B --> C --> D --> E --> F style B fill:#dbeafe,stroke:#3b82f6 style C fill:#fef3c7,stroke:#f59e0b style E fill:#dcfce7,stroke:#22c55e 連携に必要な条件は2つだけです。 | 条件 | 役割 | 誰が用意するか | |---|---|---| | 接続規格 | データを物理的に運ぶ | 業界団体(PCIe、Thunderbolt、USB4など) | | ドライバ | 共通APIとGPU独自命令の橋渡し | GPUメーカー(またはサードパーティ) | CPUのメーカーは関係ありません。 ドライバが相手にしているのは「OS」と「PCIe」という共通の土台だからです。 ケース1:Intel × NVIDIA ― 問題なく動く PCで最も一般的な組み合わせです。PCIeは業界標準、ThunderboltはもともとIntelが開発した規格で、NVIDIAはWindows・Linux向けに公式ドライバを提供しています。2つの条件がそろっているので問題なく動きます。 ゲーミングノートPCでよく使われるNVIDIA Optimusでは、普段はIntel CPU内蔵の省電力GPUを使い、ゲームなど重い処理のときだけNVIDIA GPUに切り替えます。この切り替えを判断しているのもCPUではなくドライバとアプリごとの設定です。 さらに両社は協業を深めています。2025年9月、IntelがNVIDIA NVLinkを備えたデータセンター向け・クライアント向けのカスタムCPUを設計・製造し、NVIDIAがIntel普通株に50億ドルを投資すると発表されました。PC向けには、NVIDIA RTX GPUのチップレットを統合したx86 SoCをIntelが開発・販売する計画です。CPUとGPUの距離が縮まれば、後述する「転送コスト」の問題が小さくなることが期待されます。 ケース2:Apple × NVIDIA ― 「ドライバの壁」の典型例 こちらは接続規格はそろっていてもドライバがなければ動かないことを示す好例です。 timeline title Mac と 外付けGPU の歴史 2018 : macOS High Sierra 10.13.4 で eGPU を公式サポート(Intel Mac のみ) 2020 : M1 Mac 登場、eGPU 非対応に 2025 : Tiny Corp が M3 Max MacBook Pro で NVIDIA RTX の動作に成功 2026 : Apple が Tiny Corp の eGPU ドライバを承認(AI 計算向け) Intel Mac時代のeGPU対応について、Appleのサポートページでは、Macに内蔵されているものと同じGPUアーキテクチャのグラフィックカードのみがサポート対象とされており、実質AMD製が中心でした。M1世代のApple Silicon Macは外付けGPUに一切対応せず、NVIDIAのサポートはそもそも存在しない状態でした。 転機は2026年です。Tiny Corpが開発したTinyGPUはtinygradフレームワーク上に作られたmacOSアプリで、Apple承認のDriverKit拡張をインストールし、Thunderbolt/USB4経由でAMD(RDNA3以降)とNVIDIA(Ampere以降)のGPUと通信できるようにします。SIP(System Integrity Protection)を無効化する必要もありません。Tiny CorpはMac miniにRadeon RX 7900 XTXを接続し、Qwen 3.5 27Bを毎秒18.5トークンで動かせたと報告しています。 これはまさに「ドライバさえあれば、CPUのメーカーに関係なくGPUは使える」ことの実証です。ただしこのドライバはGPUメーカー製ではなくAI計算向けのもので、ゲーム用途は想定されていません。 3. GPUを足せば必ず速くなる? → 保証されない flowchart TD S["この処理をGPUに任せるべき?"] --> Q1{"同じ計算を大量のデータに<br/>並列で行う処理か?"} Q1 -- "いいえ<br/>(分岐が多い・逐次的)" --> CPU["CPUの方が速いことが多い"] Q1 -- "はい<br/>(画像・行列演算など)" --> Q2{"計算時間 > データ転送時間 か?"} Q2 -- "いいえ<br/>(小さい仕事を頻繁に)" --> CPU Q2 -- "はい<br/>(大きな仕事をまとめて)" --> GPU["GPUで高速化できる"] style CPU fill:#fee2e2,stroke:#ef4444 style GPU fill:#dcfce7,stroke:#22c55e GPUに仕事を渡すにはデータ転送のコストがかかります。特に外付けGPUでは接続の帯域が大きな制約になります。 | 接続方式 | PCIeデータ帯域(目安) | 備考 | |---|---|---| | デスクトップ内部 PCIe 4.0 x16 | 約256 Gbps | GPU本来の性能(規格値からの概算) | | Thunderbolt 5 | 約64 Gbps | | | Thunderbolt 3 / 4、USB4 | 約32 Gbps | PCIe 3.0 x4 相当 | 実測例として、Notebookcheckのレビューでは、RTX 4090をThunderbolt接続のeGPUで使うとPCIe 3.0 x4の速度でしか動かず、ベンチマーク全体で約33%遅くなったと報告されています。また、ノートPCの内蔵画面に映すと描画結果をケーブルで送り返す分さらに不利になるため、eGPUに外部モニターを直接つなぐと性能が改善することがあります。 だからこそ、ゲームエンジンやPyTorchのようなライブラリは、開発者がプロファイリング(計測)を重ねて「何をGPUに任せるか」を作り込んでいます。 4. Vulkanとは? Vulkanは、アプリがGPUに命令を出すためのメーカー横断・OS横断の共通APIです。2章の図でいう「共通API」の層にあたります。 - 策定者:業界のメンバー企業が主導するコンソーシアム、Khronos Group - 歴史:以前は「Next Generation OpenGL Initiative」と呼ばれていた、ゼロから設計し直されたAPI。2016年に正式リリース - 特徴:アプリがGPUを直接細かく制御でき、シェーダーにはSPIR-Vという共通中間形式を使う 「低レベル」であることが最大の特徴です。Vulkanはより多くの作業と責任をアプリ側に負わせる設計で、手間は増える代わりにドライバの無駄な処理が減り、CPUの複数コアから並行して命令を準備できます。 シェーダーはSPIR-Vで配布され、各社ドライバが自社GPU向けの機械語に変換します。これが「CPUとGPUが互いの命令を知らなくてもよい」仕組みの具体例です。 5. Vulkanの代替・周辺技術の全体像 flowchart LR subgraph G["① 描画API"] VK["Vulkan<br/>(Khronos・横断)"] DX["DirectX 12<br/>(Microsoft)"] MT["Metal<br/>(Apple)"] GL["OpenGL / ES<br/>(旧世代)"] CON["ゲーム機専用<br/>(PlayStation / NVN)"] end subgraph C["② 計算API"] CUDA["CUDA<br/>(NVIDIA)"] ROCM["ROCm / HIP<br/>(AMD)"] OCL["OpenCL<br/>(Khronos)"] SYCL["SYCL / oneAPI<br/>(Intel 推進)"] end subgraph U["③ 上位の抽象化レイヤー"] WGPU["WebGPU<br/>(W3C)"] ENG["ゲームエンジン<br/>(Unreal / Unity)"] end U --> G classDef node fill:#ffffff,stroke:#93c5fd,color:#1e293b class VK,DX,MT,GL,CON,CUDA,ROCM,OCL,SYCL,WGPU,ENG node style G fill:#e0f2fe,stroke:#7dd3fc,color:#0c4a6e style C fill:#e0f2fe,stroke:#7dd3fc,color:#0c4a6e style U fill:#e0f2fe,stroke:#7dd3fc,color:#0c4a6e | 分類 | 代表例 | 主な用途・特徴 | |---|---|---| | ① 描画API | Vulkan、DirectX 12、Metal | Vulkanは横断型、DX12とMetalは各プラットフォーム専用 | | ② 計算API | CUDA、ROCm/HIP、OpenCL、SYCL | AI・科学計算。CUDAが事実上の標準 | | ③ 抽象化レイヤー | WebGPU、ゲームエンジン | 下のAPIを意識せず書ける | WebGPUは、W3Cの仕様書でVulkan、Direct3D 12、Metalに効率よく対応付けられるようゼロから設計されたAPIと説明されています。 「翻訳レイヤー」がAPIの壁を溶かしている flowchart LR W["Windowsゲーム<br/>(DirectX)"] -- "Proton / DXVK" --> V1["Vulkan"] --> L["Linux / Steam Deck"] A["Vulkanアプリ"] -- "MoltenVK" --> M["Metal"] --> MAC["Mac / iPhone"] B["Webアプリ<br/>(WebGPU)"] --> X{"ブラウザが<br/>OSに応じて変換"} X --> V2["Vulkan"] X --> D2["DirectX 12"] X --> M2["Metal"] - Proton(Valve):DirectXの命令をVulkanに変換し、WindowsゲームをLinuxで動かす - MoltenVK(Khronos):Vulkanの命令をMetalに変換し、Mac/iOSでVulkanアプリを動かす - WebGPU:ブラウザが裏でOSに合ったネイティブAPIに変換する まとめ 1. GPUに何を任せるかはCPUではなくソフトウェア(開発者)が決めている 2. メーカーが違っても連携できるのは、共通の接続規格(PCIe等)とドライバがあるから。CPUのメーカーは関係ない 3. 逆にドライバがなければ動かない(Apple × NVIDIAの長年の状況)。2026年にTiny Corpのドライバ承認で、AI計算用途に限って道が開けた 4. GPUを足しても必ず速くなるわけではない。並列性と転送コストのバランス次第で、eGPUは帯域の制約で3割程度遅くなる例もある 5. Vulkanはメーカー横断の低レベルAPI。DirectX 12・Metal・CUDA・WebGPUなどと用途ごとに棲み分けつつ、翻訳レイヤーによって境界は薄れつつある 参考文献 - Khronos Group「What is Vulkan?」 docs.vulkan.org - Khronos Group「Khronos Reveals Vulkan API for High-efficiency Graphics and Compute on GPUs」 khronos.org - W3C「WebGPU」 w3.org - Apple サポート「Mac で外部グラフィックプロセッサを使う」 support.apple.com - AppleInsider「Apple Silicon M1 Macs do not support eGPUs」(2020) appleinsider.com - NYU Shanghai RITS「TinyGPU Brings NVIDIA and AMD eGPUs to Apple Silicon Macs」 rits.shanghai.nyu.edu - GIGAZINE「ついにAppleシリコン搭載MacでNVIDIAやAMDのGPUを外部接続可能に」(2026) gigazine.net - Tom's Hardware「Apple approves drivers that let AMD and Nvidia eGPUs run on Mac」 tomshardware.com - tinygrad docs「eGPU for Mac」 docs.tinygrad.org - NVIDIA「NVIDIA and Intel to Develop AI Infrastructure and Personal Computing Products」(2025) investor.nvidia.com - Notebookcheck「Gigabyte Aorus RTX 4090 Gaming Box review」 notebookcheck.net - Thunderbolt 4 / 5 の帯域:Framework Community community.frame.work 、Evetech evezone.evetech.co.za - MoltenVK(GitHub) KhronosGroup/MoltenVK - Proton(GitHub) ValveSoftware/Proton
@xoagray git clone KhronosGroup/MoltenVK ~/src/MoltenVK-doom cd ~/src/MoltenVK-doom curl -L -o doom.patch github.com/user-attachments/files/32656975/doom-e… git apply --check doom.patch && git apply doom.patch ./fetchDependencies --macos make […]