異種並列アーキテクチャとはなんですか

投稿者: user4410

GAME PROGRAMMING Gems 8 日本語版,P.565,7.1 OpenCLで異種並列アーキテクチャを使う

と書いてあったのですが、OpenCLに利用されている異種並列アーキテクチャとはどういうものですか?

解決

用語 “異種並列アーキテクチャ” はあまり一般的ではないようですが、OpenCLとは公式サイトでも謳っているとおり「異種システム(heterogeneous system)上の並列プログラミングのための標準仕様」です。

「異種; ヘテロジニアス; heterogeneous」とは、例えば CPU(GP)GPU システムのように、異なるアーキテクチャの複数プロセッサで構成されることを意味します。対義語として「同種; ホモジニアス; homogeneous」、つまり複数のCPUからなるマルチプロセッサ・システムのように、同一アーキテクチャのプロセッサ群で構成されるシステムも存在します。

OpenCLの特徴として、特定のアーキテクチャを仮定しないことが挙げられます。類似技術のCUDAではnVIDIA社製GPUでしか動作しませんが、OpenCLで記述されたプログラムは各メーカGPUにとどまらず、CPUの外にある計算アクセラレーション・デバイスにも対応できます。

注意: これはあくまでOpenCL仕様上の理想論であって、本当にサポートするかはGPUやデバイスのメーカ次第ですし、可搬性重視のトレードオフとして動作性能がイマイチという話もあります。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *