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

関連項目




スポンサーリンク