私は、CPUだけでなくGPUアクセラレーションの新しいプログラミング標準であるOpenACCを初めて使用します。私の知る限り、OpenACCはコンパイラ指令である言語であるため、コード全体を変更することなく、コードをどこでも直接高速化できます。このプログラミング標準は、OpenMPとは異なりGPUでも機能します。
今、私の疑問がここに浮かび上がります。
アクセラレーション用のOpenCL、現在はOpenACC(コンパイラのヒントを与えるだけで非常に使いやすい)があります。ホストプログラムのアクセラレーションの場合、コンパイラ指令を簡単に配置できます。カーネルがある場合はどうでしょうか。つまり、GPU(c-language)のコードを書きたいのですが、どうすればよいですか?OpenCLのように、example.cとexample.clを書く必要がありますか?次に、OpenACCコンパイラ指令を追加する必要がありますか?または他の方法で?もしそうなら、ここでのOpenACCの使用法は何ですか?*。cファイルと* .clファイルの両方を書き込んでいます(すべてのメモリ制約とOpenCLを書き込むためのすべてをチェックする必要があります。これは大変な作業です)。