組み込みコンピューティングに向けた、ハードウェアアクセラレーションの選択肢:SYSTEM DESIGN JOURNAL(5/6 ページ)
組み込みコンピューティングを加速させるハードウェア・アーキテクチャとは何でしょうか。DSP?GPU?それともメニーコアでしょうか。どのアプローチが最も適するのかを考察します。
当然ながら、CUはCPUよりも多くのALUを搭載しており、しかもベクトル処理ユニットにも1つ搭載しています。また、制御ロジックが少なく、分岐ユニットや分岐予測、投機実行、レジスタの色分けや名前変更のための制御ロジックを全く備えていないことに加え、リオーダリングやアウト・オブ・オーダー実行制御のための制御ロジックもほとんど備えていません。しかし、最も大きな違いはメモリが極少であるということです。L1キャッシュはなく、全てのCUによって共有される L2 が離れた場所に配置されている他、ソフトウェアによって管理される小型スクラッチパッドがあるだけです。
このメモリ節減アプローチでは、ロード/ストア・ユニットを使用してレジスタをロード/アンロードする必要がある場合は必ず、L2との長いレイテンシまたはDRAMとの果てしないレイテンシに直面することになります。アプリケーションのメモリ使用パターンがかなり規則的である場合や、ロード/ストアごとに多数の計算を実行するアルゴリズムの場合、賢いプリフェッチとマルチスレッディングによってこれらのレイテンシをカバーすることが可能です。あるスレッドがメモリを待機するために停止した場合、別のスレッドを起動してパイプラインに投入します。
ここで問題となるのは、最初のロード/ストアが完了するまでパイプラインをフルに保つためには、かなりの数のスレッドを起動する必要に迫られる可能性があることです。MIAOWに関する論文を発表したウィスコンシン大学のKaru Sankaralingam准教授は、パイプラインをフルに保つには計算上40スレッドが必要で、各スレッドに保留命令セットとベクトルレジスタバンクを持たせる必要があると述べています。従って、GPUのハードウェア・マルチスレッディングはCPUよりはるかに深くなります。また、各CUが64-wide SIMDマシンである点に注目してください。命令は、64本のパイプライン全てに発行されます。この64個の同じ命令コード群と、不要なALUやレジスタでの処理をブロックするマスク・ビットを合わせて、AMDでは「wavefront」、NVIDIAでは「warp」と呼んでいます。
この短い説明からでも、GPUの効率的なプログラミングが容易でないことが分かるはずです。アルゴリズムはスレッドが豊富で、非常に広いSIMDデータパスを利用しなければならないことに加え、共有L2キャッシュの酷使を回避しながら、システム内で最も希少なリソースであることが多いDRAMチャンネルを効率よく動作させるメモリアクセスパターンを備えている必要があります。
CUDAやOpenMP、OpenCL のように並列処理の明示制御が可能な言語を使用する場合でも、プログラマーは多くのことを把握しておかなければなりません。うまくやれば、ALUを最高の効率でタスクに集中させることができますが、やり方がまずいと使用率が低下する他、GPUの速度が高速CPUと同等程度まで低下すると同時に、消費電力が何倍にも増加します。
また、GPUは厳しいリアルタイム処理、高速のコンテキスト切り替え、タスクレベルの決定タイミングには、最適な環境でないことも明らかです。コンテキストが多すぎることに加え、集中制御なしで実行されることが多すぎるからです。しかし、外部信号を使用してスレッドの優先順位を制御することにより、高性能なリアルタイムシステムを構築できる可能性があるという推論は興味深いところです。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- FinFET革命がコンピュータアーキテクチャを変える
FinFETの登場により、ムーアの法則はまだ継続される見通しです。ですが、それで全てが解決するわけではありません。FinFETの登場が、大きなSoCを自律的な機能ブロックに分割するという方向に導く結果となるでしょう。 - サブシステムIPがチップの境界を越える
サブシステム規模のIP(サブシステムIP)はSoCはもちろん、FPGAにまでも影響を与えています。素晴らしい取り組みですが、さまざまな注意点も存在します。スムーズな実装を行うための4つの注意点について述べます。 - 畳み込みニューラルネットワークの使い方、分かりますか?
畳み込みニューラルネットワークとは何でしょうか。学問の世界から現実の世界に登場しつつあるこれは、さまざまな組み込みシステムに利用される可能性が高く、大いに関心を持つべきです。 - 組み込みにおけるコンピュータビジョンを整理する
画像認識(コンピュータビジョン、マシンビジョン)の需要は高まっており、その方法はさまざまです。画像による入力を有用なものとする実装方法について分類と整理を試みます。 - モノのインターネットを再考する
IoTがその現実性について語られるようになった2015年、その基本概念を再考する機運が高まっています。「センサー」「仮想化」「フォグ」などの観点から、IoTを再考してみましょう。