Apple Silicon は現在、独自のオンボード GPU コアのみで動作していますが、Apple は PCI-E GPU など、連携して動作するより多くのオプションをサポートする方法を研究しています。
Intel MacにはあってApple Silicon Macにはない特徴の一つは、Thunderbolt経由で外付け筐体内のGPU、あるいはMac Pro内部のGPUを使用できることです。しかし、現時点ではApple Siliconにはそのような機能はありません。
これはほとんどのMacユーザーにとっては問題ではないかもしれません。しかし、一部のユーザー、特にMac Proの購入者にとっては大きな問題です。
しかし今回、新たに公開された一連の 4 件の特許出願を見ると、少なくとも Apple はこの問題を検討しているようだ。
Appleが複数GPUのサポートを放棄した理由
Apple Siliconは、従来のIntelプロセッサと比べて、劇的で、事実上前例のないほどのパフォーマンスと機能の向上をもたらしました。その一因は、Appleが設計した新しいプロセッサが従来のボトルネックを解消したことです。
例えば、デバイスに搭載される一般的なRAMチップとは異なり、新しいUnified MemoryシステムではRAMがCPUに搭載されています。つまり、後からアップグレードすることはできませんが、CPUがRAMを使用する速度は飛躍的に向上しました。
Apple Siliconプロセッサにも同様の理由でグラフィックコアが内蔵されています。サードパーティ製のグラフィックコアをサポートするには、Appleはいくつかの方法を見つける必要があります。
- GPUカード用のスペース、または外部GPU用のコネクタを物理的に備えている
- タスクを別の GPU で処理した方がよい場合を判断する
- 次にそのGPUにルートデータを保存する
- GPUからデータを取得する方法を処理する
最初の点は、今後発売される Mac Pro、あるいはそれ以降のモデルで解決される可能性があります。そのマシンは拡張可能であるはずだからです。
リスト内の他のすべての事項は、新たに公開された 4 件の特許出願のうちの 1 つ以上によって対処されています。
マルチGPUサポートの利点
「グラフィックス プロセッシング ユニット (GPU) は、コンピューティング能力の向上により、大規模なワークロードに広く使用されるようになっています」と Apple は特許出願「グラフィックス プロセッサの論理スロットからハードウェア スロットへのマッピング」の中で述べています。
「MetalやOpenCIなどのAPIは、ソフトウェア開発者にアプリケーションでGPUの演算能力を利用するためのインターフェースを提供します」と記事は続ける。「近年、ソフトウェア開発者はアプリケーションのかなりの部分をGPU利用に移行しています。」
Appleは「キック」という用語を、GPUが実行するグラフィック処理の個別の単位を指すために使用しています。そして、これらのキックを適切なGPUに送るという問題があると述べています。
この図は、ほとんどの新しい特許出願で繰り返されます。
「データ マスター回路 (例: コンピューティング データ マスター、頂点データ マスター、ピクセル データ マスター) は、これらのキックからの作業を、たとえば通信ファブリックを介して、複数の複製されたシェーダー コアに分散する場合があります」と述べています。
グラフィックカードは、Appleが「キックスロット」と呼ぶ、コンピュータの内蔵または外付けのPCI-Eスロットに搭載されている場合があります。キックスロットは2つ以上搭載されている場合があり、macOSが切り替えて使用します。
GPUの切り替え
これらのグラフィック カードを切り替えるには、カードとキックのセットを制御していた NVidia の古い Scalable Link Interface (SLI) に似たテクノロジが必要です。
Apple の新しい特許出願には、「グラフィック プロセッサ用 Kickslot Manager 回路」と呼ばれるものが含まれており、これも同じ結果を達成するためのものです。
Appleは、「スロットマネージャ回路は、トラッキングスロット回路のエントリを使用して、グラフィックス作業セットに関するソフトウェア指定の情報を保存することができる」と述べている。「スロットマネージャ回路は、グラフィックス作業セットにシェーダコアリソースを割り当てる前に、その位置からグラフィックス作業セットの構成レジスタデータをプリフェッチすることができる。」
複数のGPUに送信されるデータのスケジュールに関する特許出願の詳細
つまり、2枚以上のGPUカードを連携させることが可能になるのですが、そのためにはスケジューリングが必要になります。そこでAppleは3つ目の特許出願「アフィニティベースのグラフィックススケジューリング」を出願しました。
このアプリケーションで Apple は、「配布回路は、ソフトウェアで指定されたグラフィックス作業セットと、グラフィックス プロセッサ サブユニットのグループに対するグラフィックス作業セットの一部のソフトウェア指定マッピングを受信する場合があります」と述べています。
「これにより、同じメモリ領域にアクセスするグラフィックス作業を、キャッシュを共有する同じサブユニットのグループに割り当てることができるため、一部の実施形態ではキャッシュ効率が向上する可能性があります」と Apple は述べています。
GPUからデータを取得する
Appleの特許出願は、2枚以上のグラフィックカードを物理的にサポートし、特定のタスクに最適なカードを決定するという内容です。さらに、利用可能なGPU間で処理を分割する方法についても説明しています。
残るは GPU からデータを取得することであり、これは「論理スロットをサポートするグラフィックス ハードウェアのソフトウェア制御技術」と呼ばれる、より一般的な特許出願によって実現されます。
この特許出願には、制御「回路が、異なるグラフィックス作業セットの論理スロットと分散ハードウェア スロット間のマッピングを決定する方法」の説明が含まれています。
「マッピングの様々な側面はソフトウェアで制御できます」と記載されています。「例えば、ソフトウェアは、グラフィックス作業セットの優先度情報、作業完了後のマッピングの保持、配分ルール、サブユニットのターゲットグループ、サブユニットマスク、スケジューリングポリシー、別の論理スロットからハードウェアスロットを再利用するための設定など、以下の1つ以上を指定できます。」
プロセスの概要を示す特許出願の詳細
複数のグラフィック カードを使用したいという要望によって生じたすべての問題は、少なくとも Apple によって調査されているようです。
そうなると、Apple が Apple Silicon に複数の GPU サポートを追加する Mac を作るかどうか、そしていつ作るかという当然の疑問が残ります。
Macに複数のグラフィックカードが搭載されるようになるのはいつでしょうか
Appleは常に特許を申請していますが、特許が認められたとしても、それが必ずしも製品化につながるとは限りません。さらに、Appleが特許を活用できるようになるまでには、何年もかかる可能性があります。
したがって、すべての証拠にもかかわらず、Apple が Mac で複数の GPU をサポートすることは保証されていません。特に、近々登場すると予想される次期 Mac Pro が複数の GPU をサポートするとは推測できません。
しかし、その意図は明らかに存在しており、これは偶然に同時に出願された無関係な特許の寄せ集めではありません。例えば、4件の特許のうち3件にはアンドリュー・M・ハブリアが発明者として名を連ねており、残りの3件にはスティーブン・フィッシュウィックの名前が記されています。