「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

関連項目