「OpenACC」の版間の差分
提供: C言語入門
(ページの作成:「OpenACC (for Open ACCelerators) とは、Cray, CAPS, Nvidia や PGI によって開発された並列コンピューティングのためのプログラミングス...」) |
(相違点なし)
|
2015年4月23日 (木) 23:48時点における最新版
OpenACC (for Open ACCelerators) とは、Cray, CAPS, Nvidia や PGI によって開発された並列コンピューティングのためのプログラミングスタンダードです。CPU/GPUシステムの並列プログラミングを単純化するために設計されています。
読み方
- OpenACC
- おーぷん えーしーしー
概要
プログラマは、加速させるためのエリアを指定するために、コンパイラディレクティブや追加関数を使用して OpenMPのように、CやC++のコードを注釈します。OpenMP 4.0以上のように、コードは、CPUやGPUを両方で動作します。
OpenACCは、CやC++言語で、ディレクティブで注釈することで、既存のコードを変更なく、CPUとGPUで処理を分散して高速化できます。
OpenACCの特徴
- 簡単
- 既存のコードにコンパイラへのヒントを追加するだけ。
- 強力
- 少しの変更で、コンパイラがコードを自動で並列化してくれる。
- オープン
- 複数のコンパイラベンダが複数のアクセラレータをサポートします。
実行モデル
- 逐次部分は、CPUコードを生成します。
- 並列部分は、GPUコードを生成します。重たい処理は、GPUで実行されます。
OpenMPとOpenACC
OpenMPとOpenACCは、併用可能です。
コンパイラ
- gcc 5.1 でサポートされました
ソースコード
#pragma acc parallel #pragma acc kernels