OpenACC を使用して計算を GCC 5.3 上の nvidia GPU にオフロードする方法を正確に理解しようとしています。物事をグーグルで検索すればするほど、私は混乱します。私が見つけたすべてのガイドは、 gcc 全体とnvptx-tools
とnvptx-newlib
. 他の情報源によると、OpenACC は GOMP ライブラリの一部です。他のソースによると、OpenACC サポートの開発は GCC 6.x でのみ継続されます。また、OpenACC のサポートが GCC のメイン ブランチにあることも読みました。-fopenacc
ただし、 andを使用してプログラムをコンパイルすると、動作しません-foffload=nvptx-non
。gcc 5.3+でOpenACCコードをコンパイラして実行するのに何が必要かを誰かが説明してくれますか?
- 一部のインターネット ソースが言うように、OpenACC サポートが GCC のメイン ブランチの一部である場合、一部のガイドで
nvptx-tools
、 、および GCCの (再) コンパイルが必要なように見えるのはなぜですか?nvptx-newlib
- この中で GOMP ライブラリの役割は何ですか?
- OpenACC サポートの開発は、今後 GCC 6+ に対してのみ行われるというのは本当ですか?
- OpenACC のサポートが成熟したら、OpenMP を有効にするのと同様の方法 (つまり、コンパイラ フラグをいくつか追加するだけ) で有効にすることが目標ですか?
- 「OpenACC」を「OpenMP 4.0 GPU / MICオフロード機能」に置き換えた後、誰かが上記のすべてに対する回答を提供できますか?
前もって感謝します