アクセラレーション コンピューティングとは
アクセラレーション コンピューティングは、アプリケーション内の大量の演算処理が必要な部分を切り離して別のアクセラレーション デバイスで処理し、制御機能はそのまま CPU で処理するという新しいスタイルのコンピューティングです。これにより、ベースとなるプロセッサ ハードウェアが効率化することで、要求の厳しいアプリケーションをより高速かつ効率的に実行できます。ハードウェア プロセッサを分離し、アクセラレータを含めることで、アプリケーションは複数の演算リソースを使用できるようになるため、これをヘテロジニアス コンピューティングと呼んでいます。
一般的に、ハードウェア アクセラレータは、リニア (直列) 構造ではなく、複数タスクを同時に実行できる並列処理構造です。同時に実行できない制御プレーンのコードは、CPU で処理することで、演算負荷の高いデータプレーン処理部分を最適化できます。その結果、効率的なハイパフォーマンス コンピューティングが可能になります。

アクセラレーション コンピューティングが必要な理由
今日のアプリケーションでは、従来の CPU だけでは対応できない高い性能と効率性が求められているため、アクセラレーション コンピューティングが不可欠です。特に、AI の導入が進むにつれて、その傾向は顕著に現れます。あらゆる業界のビジネスにおいて、競争力を維持するためにはアクセラレーション コンピューティングへの依存度がさらに高まります。
アクセラレーション コンピューティングの用途
アクセラレーション コンピューティングは、膨大な数の用途や業種で使用されています。その主な要因には、5G の導入でモノのインターネット (IoT) への依存度が高まっていることが挙げられます。金融取引業界では、取引の高速化とレイテンシの最小化のために使用されています。自動車業界では、車内モニターや ADAS (先進運転支援システム) に使用されています。また、企業ではデータ分析に使用され、ビデオ ゲーム開発では、高品質のシミュレーションやグラフィックス作成に使用されています。
このようにさまざまな業界がアクセラレーション コンピューティングを取り入れていることから、今日のアプリケーションは、市場競争で生き残るためにデータ処理能力の向上が不可欠であることが分かります。
アクセラレーション コンピューティング向けのソリューション
アクセラレーション コンピューティング向けのソリューションには、さまざまなタイプがあり、それぞれに長所と短所があります。どのようなソリューションを選択するかは、アプリケーションの要件によって異なります。

グラフィックス プロセッシング ユニット (GPU)
GPU は、CPU が苦手とするデータ処理を高速化するために最適化されたチップです。アプリケーションの生データ処理の多くを CPU からオフロードすることで、作業を効率化します。GPU の並列処理構造が、大量のデータを同時に処理することを可能にしています。
GPU は、その名のとおり、グラフィックスの描画を高速化するために設計されました。今日の GPU はさらに進化し、プログラム可能で柔軟性にも優れているため、さまざまな業界の開発者が AI やクリエイティブな製品に GPU を活用しています。また、スーパーコンピューターやワークステーションで複数の GPU を使用することで、ビデオ処理、3D レンダリング、シミュレーション、機械学習モデルのトレーニングを高速化できます。

テンソル プロセッシング ユニット (TPU)
TPU は、機械学習アルゴリズムの実行に必要な制御ロジックと演算ロジックを実装した回路です。それらの論理演算ユニット (算術および論理演算を実行するデジタル回路) は、互いに直接接続されているため、メモリを介さずにデータを直接転送できます。TPU は ML コードの高速化に最適化されていますが、特に、Google がオープンソースで公開している ML および AI ソフトウェア ライブラリである TensorFlow 向けに設計されています。
アダプティブ コンピューティング
アダプティブ コンピューティングは、FPGA (Field-Programmable Gate Array) という既存の技術をベースに構築されています。FPGA は、製造後に変更できるように設計されたデバイスであるため、「フィールド プログラマブル」と呼ばれています。
アダプティブ コンピューティングとは、製造時にハードウェア機能が固定されることのない唯一のアクセラレーション コンピューティングです。代わりに、特定のアプリケーション、あるいは特定のアクセラレーション機能に応じて自在にカスタマイズできるハードウェアを含んでいます。特定のニーズに合わせてアーキテクチャをカスタマイズすることで、アダプティブ コンピューティング ソリューションは、さまざまな用途において卓越した効率性を実現します。