問題タブ [pycuda]
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実装、Python(pycuda)、またはC ++を使用して画像を処理しますか?
私はCUDAを使用して画像を処理するプロジェクトに参加しています。プロジェクトは、単に画像の加算または減算です。
あなたの専門家の意見を聞いてもいいですか。どちらが最善で、これら2つの長所と短所は何でしょうか。
このプロジェクトは私にとって非常に重要なので、皆さんの意見や提案に感謝します。
python - LinuxでPyCudaコードをプロファイリングする方法は?
シンプルな (テスト済みの) pycuda アプリがあり、それをプロファイリングしようとしています。プログラムを11回実行すると、次のエラーが発生します。
「CUDA_PROFILE python scriptname.py arg1」も実行してみました。以下を含むファイルが作成されました。
役に立つ場合に備えて、これらの環境変数も設定しています。
およびtemp_cuda_profiler.confには含まれています
1時間ほどグーグルで検索しました。運がない。あなたが提供できる洞察に感謝します!
python - PyCuda: モジュールをインポートできますが、できません... (PyCUDA サンプル)
コード例:
結果:
簡単に聞こえるので、これをテストしてみましょう。
わかりました、それは奇妙です...
簡単に言えば、ファイルを 1 行ずつ python コンソールにステップ実行しても、実際に mod=SourceModule() 行を実行するまでは何も問題はありません。
(最後のトレースバック、約束します)
したがって、pycuda はランタイム python とは異なるインクルード ディレクトリを取得しているように見えますが、これは発生しないはずです (私が理解しているように)。
何か案は?(長い質問で申し訳ありません)
Talonmies は、nvcc が見つからないことについて指摘しました。Pythonが私が考えられない場所からenvarsを取得していない限り、そうすべきではない理由はありません:
python - PyCUDA:C/C++ が含まれていますか?
どこにも言及されていない (少なくとも私が見ることができる) のは、インライン CUDA カーネルに公開されているライブラリ関数です。
具体的には、個別に GPU にオフロードする価値のない小さな/愚かな行列乗算を行っていますが、この乗算を含むアルゴリズムのより大きなセクションをオフロードしています。自分の linalg 関数を使うのが好きな人はいませんでした。
TLDR PyCUDA でインライン カーネルを使用しているときに、どのライブラリを使用できますか?
python - PyCUDA: デバイス コード内の Pow が std::pow を使用しようとして失敗する
多かれ少なかれ、質問がすべてを物語っています。
私の理解では、代わりに cuda pow 関数を使用する必要がありますが、そうではありません。
python - PyCUDA / Copperhead が 64 ビット マシンを認識しないようです
現在、コッパーヘッドで 2 つの問題が発生しており、関連していると思われます。
サンプル ファイル (samples/axpy.py) を実行すると、多くの小さな警告が生成されましたが、これは際立っていました。
注意すべき点はほとんどありません。
g++ は、使用する正しい CUDA lib ディレクトリ (lib64) を正しく選択していますが、そこに libcudart.so が表示されません。
次に、boost_python が見つかりません。いくつかの場所から、これは ubuntu がどこかでパッケージ規則を破ったことが原因であると聞いており、人々は pycuda 構成オプションを変更することでそれを修正したと言っていますが、何に変更するかは述べていません... (例)
cudart またはブートの問題について何か考えがある人はいますか?
python - PyCUDAGPUArrayスライスベースの操作
PyCUDAのドキュメントは、「非達人」クラスの例を少し紹介していますが、gpuarrayの配列操作に使用できる操作について疑問に思っています。このループをgpuarrayしたい場合。
このための通常のファーストストップPython削減は次のようになります
しかし、GPUArrayを使用してこれを行う簡単な方法は、カスタムの要素ごとのカーネルを作成する以外にわかりません。それでも、この問題では、カーネルにループ構造が必要であり、その複雑さの時点で、おそらく私はより良いでしょう。私自身の本格的なSourceModuleカーネルを書くだけです。
誰かが私を手がかりにできますか?
python - PyCUDA変数を値でカーネルに渡す
十分に単純である必要があります。私は文字通り、C関数がここにあるSourceModuleカーネル宣言にintを送信したいと思います
値が宣言されて呼び出されます...
しかし、間違ったタイプを使用しているというpycudaからさまざまなエラーが発生します。
python - PyCUDAメモリアドレス指定:メモリオフセット?
デバイス上に大量の生成データ (A[i,j,k]) がありますが、必要なのは A[i,:,:] の 1 つの「スライス」だけです。通常の CUDA では、これは簡単に実行できます。いくつかのポインター演算で達成されます。
pycuda内で同じことを行うことはできますか? すなわち
(dest 形状から推測されない限り) サイズ情報がないため、明らかにこれは完全に間違っていますが、うまくいけば、アイデアを得ることができますか?