問題タブ [nvcc]
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.
c++ - CUDA C ソースをコンパイルできません。簡易版をご用意
ここに問題があります... 学校のプロジェクトでは、CUDA C を使用して並列アプリケーションを作成する必要があります。最も単純な例でさえコンパイルできません。Windows7 と MS Visual Studio を使用しています。コードは本から取られています: CUDA by example。汎用 GPU コンピューティングの概要。
エラーは次のとおりです。
cl.exe の代わりに nvcc.exe を既定のコンパイラとして設定する必要がありますか? その場合、どうすればよいですか?どんな助けでも大歓迎です!
cuda - インライン PTX での 32 ビット アドレス サイズの設定
別ファイルで書かれたPTXをインラインPTXに変換中です。別の PTX ファイルでは、次のように ISA とターゲットを定義していました。
コンパイラによって生成された PTX ファイルでは、PTX をインライン化した後、コンパイラは次のように ISA とターゲットを指定しています。
これ.address_size 64
は、インライン PTX で行うポインター演算を 32 ビットから 64 ビットに更新する必要があることを意味するため、私にとっては問題です。
32 ビットが 4GB をアドレス指定できることを考えると、私のカードが持っているメモリよりも多くのメモリがありますが、ポインタ演算を更新する必要がないように、コンパイラに 32 ビットのアドレス サイズを指定させることは可能ですか?
新しい統一アドレッシング システムでは、32 ビット アドレスは sm_20 でサポートされていますか?
cuda - Parallel Nsight でのインライン PTX のデバッグ
Parallel Nsight でインライン PTX をステップ実行するときに PTX レジスタを表示することはできますか?
インライン PTX にブレークポイントを設定してステップ スルーできますが、PTX レジスタにカーソルを合わせても値が表示されません。SASS をオンにすると、これらのレジスターにカーソルを合わせるとその値が表示されますが、PTX レジスターと SASS レジスターの間の関係を追跡するのは困難です。
cuda - CUDAコンパイラはワープの発散動作をどのように認識しますか?
CUDAプログラミングガイド(v4.1)は、セクション5.4.2の述語命令についてこれを説明しています。
コンパイラは、分岐条件によって制御される命令の数が特定のしきい値以下である場合にのみ、分岐命令を述語命令に置き換えます。条件が多くの発散ワープを生成する可能性があるとコンパイラが判断した場合、このしきい値は7です。 4です。
- 条件はどのようにして多くの発散ワープを生成することができますか?特定の条件では、ワープを2つに分割することしかできません。ここで多くの意味は何ですか?
- 上記が理にかなっているとしても、コンパイラはワープの実行時の発散動作をどのように知ることができますか?
c++ - How can I compile a CUDA program for sm_1X AND sm_2X when I have a surface declaration
I am writing a library that uses a surface (to re-sample and write to a texture) for a performance gain:
The target platform GPU has compute capability 2.0 and I can compile my code with:
and it works just fine.
The problem is when I am trying to develop and debug the library on my laptop which has an NVIDIA ION GPU with compute capability 1.1 (I would also like my library to be backwards compatible). I know this architecture does not support surfaces so I used the nvcc macros in my device code to define an alternate code path for this older architecture:
The problem is that when I do:
I get this error:
When I look at the PTX file is see what appears to be the surface declaration:
If I try to put a similar macro around the surface declaration in my source code:
I get an error saying the surface variable is undefined in the host code call to to bind cuda surface to array. Should I add the macro around the bind function as well?
I'm not sure if it is possible, or if I goofed somewhere, please help.
ubuntu - CUDA 2.1「エラー:不明なタイプ名'size_t'」
システム:Ubuntu 11.10 x86_64 CUDA:v 2.1
matrixMulのようなサンプルプログラムを作成しようとすると、大量のエラーが発生します。そのほとんどは「不明な型名'size_t'」です。PATHに/usr/ local / cuda / binを配置し、/ etc/ld.so.conf.dの.confに/usr/ local / cuda/libを配置するようにしました。
これらのエラーが発生する理由はありますか?
ありがとう!
c - GPU ライブラリのパスの問題を含める
GPU で行列演算を実行するために MAGMA (http://icl.cs.utk.edu/magma/) を使用しようとしています。CUDA カーネルを正常に呼び出すことができ、問題はありません。しかし、magmablas_sgemm 関数を使用しようとすると、エラーが発生します。
これは私が使用しているコンパイルコマンドです:
これは printenv 出力の一部です。
明らかにわかるように、マグマ ライブラリは LD_LIBRARY_PATH に含まれていますが、次のエラーが発生します。
どんなヘルプ/ポインタも大歓迎です! ありがとう!
PS: 関連する場合、nvcc がホスト コードに使用している基になる C コンパイラは gcc です。
PPS: パス「/util/magma/1.1/lib」を確認しましたが、libmagma.a と libmagmablas.a が含まれています。
更新:うわー..私はこれが嫌いです..しかし、これでうまくいきました
nvcc -o msd msd.cu -I../../include -I/util/magma/1.1 -L/util/cuda/4.0.17/cuda/lib64 -L/util/magma/1.1/lib -lcublas -lm -lmagma -lmagmablas -Xcompiler -I../../include -I/util/magma/1.1 "-O3"
だから私がしたことは、ライブラリパスを明示的に含めることだけでした。しかし、私は LD_LIBRARY_PATH がそのようなことを処理すると思っていました。なぜそれがうまくいかなかったのですか?
python - pycuda; nvcc fatal:Visual Studio構成ファイル'(null)'が見つかりませんでした
Visual C ++ Express 2010とすべての種類のNvidiaドライバー、SDKなどをインストールした後、pycuda入門チュートリアルを実行しようとしています。
エラーなし。しかし、IPythonでのこの呼び出しは
この後、このエラーに影響を与えることなくMS Windows SDKをインストールしましたが、Visual C ++ Express 2010でx64プログラムを選択できるようになりました。では、何を修正する必要がありますか?(プリコンパイルされたpycudaファイルを使用しました。)
cuda - .cppファイルにmain()があるcudaプロジェクトでcuPrintfをどのように使用しますか?
そこで、SDLを使用して衝突するボールをMac OS Xのサーフェス/ウィンドウに描画する衝突検出コードを高速化しようとしています。衝突を実行して、既に問題なく連続して描画することができます。cuPrintfを使用してcudaバージョンをデバッグできるようにしたいのですが、main()が.cuファイルにないため、動作させることができません。そのため、cuPrintfを初期化することも、バッファーを印刷することもできません。いくつかの外部「C」関数を作成し、それらを.cppファイルにビルドすると、何も得られません。ラッパー関数を残りのcudaコードとともに.cuファイルに入れようとすると、「エラー:外部関数の使用はサポートされていません...」というメッセージが表示されます。1つの大きな.cuファイル内にすべてが含まれている小さなプロジェクトで使用しましたが、うまく機能します。でも、できるのに'
他の誰かがこの問題を抱えていますか?
windows - cuda nvcc クロス コンパイラ
Mac で CUDA コードをコンパイルしたいのですが、Windows で実行可能にします。
nvcc CUDA クロス コンパイラをセットアップする方法はありますか?
問題は、旅行のためにデスクトップ ウィンドウにしばらくアクセスできないことですが、戻ってコードをコンパイルするまで待って時間を無駄にしたくありません。待たなければならない場合、コードをデバッグして、正しくコンパイルされていることを確認するのは時間の無駄です。ただし、私のMacにはcuda対応のハードウェアが装備されていません。