問題タブ [cuda]
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.
cuda - CUDA: What is scattered write?
Various CUDA demos in the CUDA SDK refer to "scattered write". What is this scattered write and why is it so great? In contrast to what does it stand?
xcode - XCodeとCUDAの統合
誰かがCUDAとXCodeを使った経験があるかどうか疑問に思っていましたか?私はそれをすべて設定する悪夢を抱えています...
ドーソン
c++ - CUBLAS メモリ割り当てエラー
次のように、浮動小数点数の 17338896 要素を割り当てようとしました (これは約 70 MB です)。
CUBLAS_STATUS_ALLOC_FAILED
ただし、変数状態のエラー メッセージが表示されます。これは、マシンで使用可能なビデオ カード メモリの量 (私の場合は 128 mb) と関係がありますか、それとも cublasAlloc() 関数を使用して割り当てることができるメモリ量の制限でしょうか (つまり、量には関係ありません)。マシンで使用可能なメモリの量)? cudaMalloc() 関数を使用してみましたが、同じ問題が発生しています。ご検討いただきありがとうございます。
--------------エラー再現の追加-------------------------------- -----
cuda - CUDA:nvccのコンパイルに数分かかる理由は何でしょうか?
nvcc
私は(技術的ptxas
には)コンパイルに10分以上かかるのが好きなCUDAコードをいくつか持っています。小さくはありませんが、確かに大きくはありません。(〜5000行)。
CUDAバージョンの更新の間に遅延が発生するようですが、以前は10分ではなく1分程度しかかかりませんでした。
このオプションを使用-v
すると、次のように表示された後、スタックしているように見えました。
カーネルにはかなり大きなパラメーターリストがあり、ポインターの数が多い構造体が渡されますが、まったく同じコードがわずか数秒でコンパイルされた時点が少なくとも1つあったことは知っています。
役立つ場合は、64ビットのUbuntu9.04を実行しています。
何か案は?
compilation - LinuxでCudaをコンパイルする場合、非常に単純なMakefileはどのようになりますか
Linux で非常に基本的な hello world レベルの Cuda プログラムをコンパイルしたいと考えています。私は3つのファイルを持っています:
- カーネル: helloWorld.cu
- メインメソッド: helloWorld.cpp
- 共通ヘッダー: helloWorld.h
これを nvcc と g++ でコンパイルするための簡単な Makefile を書いてくれませんか?
ありがとう、
ガボール
cuda - CUDA 2.3 nvopencc で u_int64_t を u_char に変換
CUDA 2.3 V0.2.1221 / 32bit Linux
こんにちは、次のコードに問題があります。
make emu=1 コンパイルして動作する
-
エミュレーションなしでエラーが発生します:
### 1923 行目または ../../be/cg/cgemit.cxx でのアサーションの失敗
### オペランド 0 のレジスタ クラスが正しくありません
nvopencc 内部エラー ... ステータス 1
-
誰かがplsを助けることができます-u_int64_tをunsinged char [7]に変換するための実用的な方法が必要です。
java - JNI を介して C と Java の間でポインターを渡す
現在、CUDA 機能を使用する Java アプリケーションを作成しようとしています。CUDA と Java の間の接続は正常に機能しますが、別の問題が発生したので、それについての私の考えが正しいかどうかを尋ねたいと思いました。
Java からネイティブ関数を呼び出すと、関数にデータが渡され、関数が何かを計算して結果を返します。最初の関数がこの結果への参照 (ポインター) を返して、それを JNI に渡して、結果をさらに計算する別の関数を呼び出すことは可能ですか?
私の考えは、データを GPU メモリに残し、その参照を渡すだけで他の関数が使用できるようにすることで、GPU との間でデータをコピーすることによるオーバーヘッドを削減することでした。
しばらく試した後、アプリケーションの終了後 (この場合は C 関数の終了時) にポインターが削除されるため、これは不可能であると自分で考えました。これは正しいです?それとも、解決策を見るためにCで悪いのですか?
編集:まあ、質問を少し拡張する (またはより明確にする): JNI ネイティブ関数によって割り当てられたメモリは、関数が終了したときに解放されますか? または、JNI アプリケーションが終了するまで、または手動で解放するまで、引き続きアクセスできますか?
ご意見ありがとうございます:)
optimization - CUDA: スレッドの同期
CUDA を使用したプログラミングについて読んだほとんどの場所で、ワープ内のすべてのスレッドが同じことを行うことの重要性について言及されています。
私のコードでは、特定の条件を回避できない状況があります。次のようになります。
スレッドの中には、条件の 1 つに入るものもあれば、両方に入るものもあれば、どちらにも入らないものもあります。
条件の後にすべてのスレッドを再び「同じことをする」ようにするには、条件の後にそれらを同期する必要があり __syncthreads()
ますか? それとも、これはどういうわけか自動的に起こりますか? 2 つのスレッドの 1 つが 1 つの操作の後ろにあるため、
2 つのスレッドが同じことをしていない可能性があります。それとも、ブランチの後で同じことを再び行わせるための舞台裏の努力はありますか?
cuda - CUDA カーネルの使用
CUDA 用の CUSP ライブラリの使用に興味があります (ここで入手可能)。ただし、CUDA および/または CUBLAS スタティック ライブラリとリンクしているアプリケーションでこのライブラリを動作させるのに問題があります。ヘッダー ファイルとソース ファイルを一瞥すると、関連ファイルをスタティック ライブラリ ファイル (nvcc コンパイラを使用) としてビルドしてカーネルを使用し、アプリケーション (MS Visual Studio コンパイラを使用してビルド) で使用することを想定しています。または、カーネルをアプリケーションで直接使用します (これがどのように機能するかはわかりません)。CUSP ライブラリも METIS ライブラリを使用していますが、これも Windows にインストールする方法がわかりません。私のアプリケーションで CUSP 機能を使用する最良の方法について、あなたの提案は何ですか? 前もって感謝します。
documentation - CUDA: documentation of kernel CRT?
I'm trying to find the documentation for all of the functions available for the CUDA kernels.
The CUDA Reference manual seem to include only the host functions and the CUDA programming guide only includes some details such as the accuracy of these functions but not their documentation.
Am I missing something or does this piece of documentation simply doesn't exist?