グラフ理論の処理に特化したGSPの仕組み
ということで話をGSPに戻す。GSPは巡回セールスマン問題のような複雑な処理をすることは考えていないが、計算機の世界ではこうしたグラフ的に表現される処理が多数ある。
これを効率的に実行できるようにしよう、というのがGSPである。このGSPをDSPやGPUなどと対比させた例が下の画像である。
この例で言えばNode A~Node Dが計算処理ということになる。さて、DSPやGPU、つまり左側であるがここではまずある程度のデータの塊(画像処理なら64×64ピクセルなど、そういうある程度の単位)をNode Aで処理し、その結果が1と2のバッファに蓄えられる。
それが終わったら、次にNode BとNode Cが動く。Bは1から結果を読みこんで、処理結果を3と4に、Node Cは2から結果を読みこんで、処理結果を5に蓄える。
最後にNode Dが3~5から結果を読み込んで処理し、6に吐き出す形だ。ここでネックになるのは、Aが処理を終わるまでBとCの処理が始められないし、BとCが終わらないとDが始められないことだ。
もちろん、例えば「1と2のバッファのここからここまでデータを入れ終わった」と、Node AからNode B/Cにこまめに通知すれば、Node Aが完全に0のデータを読み切って処理を終わる前にNode B/Cの処理を開始することは不可能ではないが、今度はそうした通信のオーバーヘッドが極端に大きくなりすぎる。
Node Aが64×64ピクセルの画像を4×4ピクセル単位で処理すると仮定すると、256回処理すると完了であり、仮に1回の計算が1サイクルで終了するとしても、Node Aが256サイクル稼働後に1と2に結果を吐き出し、これを受けてNode BとCが並行してやはり256サイクルかけて処理し、3~5を出力。最後にNode Dが256サイクルかけて6を出力するので、合計768サイクル必要になる計算になる。
GSPではこれをもっとスマートにできる。GSPのS、つまりStreamであるが、Stream(流れ)というように、内部のプロセッサーコア(つまりNode A~D)はもっと細切れで処理が可能になっている。
端的に言うと、Node Aが最初の1回の計算をしたら、その結果は直ちに1と2のバッファに書き込まれる。これが書き込まれたら、次のサイクルにはNode BとCが動き始め、その1サイクル後には結果が3~5に書き出される。
最後にNode Dが動いて1サイクル後に結果が6に保存されるわけで、Node Aが動き始めてから3サイクル目には最初の結果が出力されることになる。所要時間はトータルで259サイクル(3+256サイクル)で済むわけで、左の方式よりも3倍高速というわけだ。
この連載の記事
-
第803回
PC
トランジスタの当面の目標は電圧を0.3V未満に抑えつつ動作効率を5倍以上に引き上げること IEDM 2024レポート -
第802回
PC
16年間に渡り不可欠な存在であったISA Bus 消え去ったI/F史 -
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU -
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ