専用並列コンピュータ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/25 13:20 UTC 版)
並列計算では、ごく狭い用途に使われる専用並列機器も存在する。利用分野が限定されているというだけでなく、特定の並列問題のクラスしか解けないものが多い。 FPGAと再構成型コンピューティング 再構成型コンピューティングとは、FPGAを汎用コンピュータのコプロセッサとして利用するものである。FPGAは、内部の配線を変更可能な集積回路である。 FPGA内の配線は、VHDLやVerilogのようなハードウェア記述言語 (HDL) でプログラム可能である。しかし、これらの言語でのプログラミングは手間がかかる。そこで、多くのプログラマが親しんでいるC言語のソースをHDLのソースに変換するソフトウェアがいくつも開発されている。例えば、Mitrion-C、Impluse C、DIME-C、Handel-Cなどがある。 AMDはHyperTransport技術をオープン規格としたため、サードパーティーがこれを再構成型コンピューティングを使った高性能計算に応用している。 GPU上での汎用処理 (GPGPU) GPGPU(General-purpose computing on GPU)は、CPUを遥かに凌駕する理論演算性能および電力効率を持つGPUを汎用計算に用いるものである。GPUはリアルタイムコンピュータグラフィックス処理に最適化されたコプロセッサであり、線形代数演算(行列演算・ベクトル演算)をデータ並列で処理することに特化しているが、プログラマブルシェーダーの出現と発展により汎用計算への応用の道が開いた。GPGPUは、もともとGPUが得意とする画像処理全般への適用や、大量の演算が必要となる機械学習の分野における活用が進んでいる。ただしCPUとGPUは設計思想の違いからそれぞれ得意分野が異なるため、ありとあらゆる処理をGPUによる並列計算で高速化しようと試みることは現実的ではない。 NVIDIA GeForce/NVIDIA Quadro、AMD Radeon/AMD FireProといったパーソナルコンピュータやワークステーション向けのグラフィックスプロセッサをGPGPU目的に利用できるほか、NVIDIA TeslaシリーズやAMD FirePro Sシリーズ(旧AMD FireStream)といったGPGPU専用のサーバ向けハードウェアも出現している。 ASIC(Application Specific Integrated Circuit) ASICを使って並列処理を行おうとする試みがいくつか行われている。 ASIC は本質的に特定用途を想定して設計されるため、その用途向けに完全に最適化される。結果として、その用途に関しては汎用コンピュータより高速に処理できることが多い。しかし、ASIC作成にはフォトマスクが必要であり、その設計は非常に費用がかかる。1つのマスクはアメリカ合衆国ドルで百万ドル以上になる(設計ルールが小さくなるほど、フォトマスク開発には費用が多くかかる)。一方ムーアの法則に従って、汎用コンピュータの性能は急激に向上しているため、1世代か2世代のプロセッサの進歩によってASICに追いつくという傾向がある。初期投資が大きいこと、汎用コンピュータに対する優位性が長続きしないことから、ASIC を使った並列計算はあまり現実的でないことが多い。 ベクトル計算機 ベクトル計算機とは、多数のデータ群に対して同じ命令を実行できるCPUまたはコンピュータシステムである。数値の配列またはベクトルに対して高度な操作を実行できる。例えば、A、B、C がそれぞれ64個の64ビット浮動小数点数の配列としたとき、 A = B × C {\displaystyle A=B\times C} を一度に行う。ベクトル計算機は、フリンの分類におけるSIMDと密接に関連している。 1970年代から1980年代にかけて、クレイはベクトル計算機で有名になった。しかし、最近ではベクトル計算機という呼び方をすることは少なくなっている。最近のプロセッサの命令セットには、AltiVecやストリーミングSIMD拡張命令 (SSE) などのベクトル処理命令が含まれている。
※この「専用並列コンピュータ」の解説は、「並列計算」の解説の一部です。
「専用並列コンピュータ」を含む「並列計算」の記事については、「並列計算」の概要を参照ください。
- 専用並列コンピュータのページへのリンク