OpenACC
提供: C言語入門
2015年4月23日 (木) 23:48時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「OpenACC (for Open ACCelerators) とは、Cray, CAPS, Nvidia や PGI によって開発された並列コンピューティングのためのプログラミングス...」)
スポンサーリンク
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
関連項目
ツイート
スポンサーリンク