問題タブ [pgi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
127 参照

floating-point - IEEE 浮動小数点演算の計算時間は値に依存しますか?

CFD ソルバーで IEEE の厳密な浮動小数点演算を使用しています。私のアルゴリズムは明示的かつ決定論的です (時間ステップごとにまったく同じ数の計算を実行します)。しかし、私は、ソリューションが複雑な時期 (グリッド全体で多くのことが起こっている) に、ソルバーが「行き詰まり」、速度が低下することを観察しています。

私は FP 演算に非常に苦手なので、FP 演算は計算時間において決定論的であると想定していました。ここで、特定の FP 計算に必要な実際の CPU 操作の数が値に依存する可能性があるかどうか疑問に思い始めています (たとえば、乗算または除算の指数が大幅に異なる)。

IEEE 厳密な浮動小数点のパフォーマンスは値に依存しますか?

0 投票する
1 に答える
461 参照

gcc - PGI 14.6 OpenSuse 13.1 x_64 gcc 4.8 c++11 コンパイル エラー

OpenSuse で PGI 14.6 を使用して、C++11 機能を備えた C++ プログラムをコンパイルしようとしています。残念ながら、次のエラーが表示されます

私の構成は次のとおりです。

どんな助けでも大歓迎です。

よろしく

0 投票する
2 に答える
2608 参照

fortran - Fortran : すべての変数を特定のデフォルト値に初期化する

私は、暗黙的に宣言された多くの変数を使用して、約 40 年前の Fortran スパゲッティ コードに取り組んでいます。そのため、値を初期化するためにコード内に存在する変数を知る簡単な方法はありません。さて、コード内のすべての変数をゼロまたは非常に大きな数値以外の特定のデフォルト値 (-999 など) に初期化するようにコンパイラー (インテル Fortran など) に指示する方法はありますか?

0 投票する
1 に答える
477 参照

c++ - デバイスメモリ内の変数は外部関数でどのように使用されますか?

このコードでは:

のデバイスメモリ上にあるとどのようにint value認識されintfunますか? present(variable[:1])プラグマでbypresent(variable[:1],value)に置き換えるintfunと、次のランタイム エラーが発生します。

valueそれを指定するとpresent上記の失敗につながる理由がわかりません。valueディレクティブで一度だけコピーされたNVVP で確認しました。つまり、ディレクティブでenter data再度コピーされていません。OpenACC はどのようにその魔法を働かせるのですか?parallelintfun

0 投票する
1 に答える
1309 参照

c++ - CUDA および C++ での名前マングリング

from PGI でmain.cppコンパイルされた私の C++ プロジェクトは、 でコンパイルされた別のファイルに CUDA コードを含む関数を呼び出します。関数宣言と共通ヘッダー ファイルで関数をラップしないと、リンク エラー (未定義の参照) が発生します。pgcppcuda()cuda.cunvcccuda()extern "C"

なしextern "C"(シンボル名の不一致 => 未定義参照):

extern "C"(シンボル名の一致 => リンクは正常に動作します) :

nvccホスト コードにホスト C++ コンパイラを使用したため、C++ のようにシンボル名をマングルするというのが私の印象でした。私は何を間違っていますか?

編集:これは、ホスト コードにnvccGNU コンパイラgccを実際に使用し、このコンパイラが名前を異なる方法でマングルするという事実によるものpgcppでしょうか?

EDIT2:私のシステムにはpgcpp 14.9、gcc 4.4.7、nvcc/CUDA 6.5があります

0 投票する
2 に答える
736 参照

thrust - コンパイラは #pragma once をサポートしていません

サポートしていないコンパイラ (PGI) を使用しています。

しかし、私が含めたいライブラリ(スラスト)はそれらを使用しています。

この問題の回避策はありますか?

0 投票する
2 に答える
3493 参照

c - OpenACC を使用してネストされたループを並列化する

私はopenaccに非常に慣れておらず、高レベルの知識しか持っていないので、私が間違っていることについての助けと説明をいただければ幸いです。

openacc ディレクティブを使用してフラット化された (3D から 1D へ) 配列を更新する、それほど単純ではないネストされたループを高速化 (並列化) しようとしています。を使用してコンパイルしたときの簡略化されたサンプルコードを以下に投稿しました

pgcc -acc -Minfo=accel test.c

次のエラーが発生します。

call to cuStreamSynchronize returned error 700: Illegal address during kernel execution

コード:

regionandloopディレクティブを使用する代わりに、

次のエラーが発生します。

私はこのコードを実行しています