問題タブ [pyopencl]

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 に答える
133 参照

python-2.7 - pyopencl のインデックス付き配列に書き込む

やあ、私は pyopencl でこのコードを書いてスパース ランダム ベクトルを取得しましたが、問題はインデックス付き配列に値を書き込めないことです。何が問題なのですか? 出力は常にゼロ!!

ここに私のコードがあります

0 投票する
3 に答える
6241 参照

kernel - OpenCL - READ_ONLY または WRITE_ONLY バッファーを使用する理由

ではOpenCL、バッファにREAD_ONLYまたはのフラグを付けるとパフォーマンス上の利点はありますかWRITE_ONLY?

これkernelは私がよく目にするものです (a はREAD_ONLYb ですWRITE_ONLY):

kernelグローバルメモリの使用量が少ないため、これはより良いようです( a is READ_WRITE):

READ_ONLYおよびWRITE_ONLYフラグは、デバッグとエラーの検出を支援するために存在しますか?

0 投票する
0 に答える
547 参照

numpy - pyopencl.array.Array を使用する理由

PyOpenCL には、OpenCL バッファーを作成する 2 つの方法があります。

pyopencl.Buffernumpy 配列を受け取り、それをバッファーに変換します。

pyopencl.array.Arraynumpy 配列を取り、それを PyOpenCL 配列に変換します。このオブジェクトは numpy 配列のように編集できますが、呼び出し時にバッファーを提供します.data

どちらかを選択するパフォーマンス/機能上の理由はありますか? それとも、コードを読みやすくするものを選択する必要がありますか?

0 投票する
0 に答える
521 参照

pyopencl - pyopencl.RuntimeError: clWaitForEvents が失敗しました: 待機リスト内のイベントの実行ステータス エラー

時々、自分のマシンで PyOpenCL を実行し続けることができなくなります。これは、それを使用しているプロセスを強制終了すると、時々発生します。オンラインで見つけた例を含む、すべてのpyopenclスクリプト/カーネルで、次のエラーが発生します。

フォームの呼び出しに続く

または a = kernel.(queue,gs,ls,...) a.wait()

マシンを再起動すると問題は解決しますが、これは面倒な回避策です。誰かが似たようなことに遭遇し、物事をリセットする方法を知っていますか?

ありがとうございました

0 投票する
4 に答える
10341 参照

python - PyOpenCL を使い始める

私は最近、GP-GPU (汎用グラフィックス プロセッシング ユニット) の能力を発見しました。それを利用して、1 台のマシンで「重い」科学計算と数学計算 (さもなければ大きな CPU クラスターを必要とする計算) を実行したいと考えています。

GPU で動作するインターフェイスがいくつかあることは知っていますが、最も顕著なものは CUDA と OpenCL です。後者は、NVIDA カードのみではなく、ほとんどのグラフィックス カード (NVIDIA、AMD、Intel) で実行できるため、CUDA に対して有利です。私の場合、通常の Intel 4000 GPU を使用していますが、これは OpenCL とうまく連携しているようです。

次に、PyOpenCL をさらに使いこなす方法を学ぶ必要があります。だからここに質問があります:

PyOpenCL の使用を開始するにはどうすればよいですか? 前提条件は何ですか?Python や OpenCL の経験が本当に必要ですか?

私のバックグラウンドは fortran であり、実際のところ、主に偏微分方程式の解決と行列の対角化を扱う長い fortran コードを python (または pyopencl) に変換して並列化する必要があります。

関連する 2 つの Web サイトhttp://enja.org/2011/02/22/adventures-in-pyopencl-part-1-getting-started-with-python/http://documen.tician.de/を読みました。 pyopencl/ですが、初心者 (つまり、ダミー) にはあまり役に立ちません。

何から始めたらいいのかわからない。私は、pyopencl で単純な数学と線形代数を並列化する方法を知るためだけに、この分野の専門家になることを熱望していません。

どんなアドバイスや助けも大歓迎です!

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

opencl - opencl の累積合計

次のようにopenclで累積合計を実装しようとしました:

pyopencl を使用してこのコードを呼び出しました。

ただし、最初の 32 個の数字は正しく、その後は間違っています (低すぎます)。これはワークグループのサイズと関係がありますか? これを修正するにはどうすればよいですか?

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

opencl - pyopencl 配列オフセット制限の回避

PyOpenCL の制限を回避する方法はありますか?

で失敗します

pyopencl.array.ArrayHasOffsetError: 試行中の操作は、バッファの先頭からのオフセットで始まる配列をまだサポートしていません。

私は試した:

これは時々うまくいくようですが、それ以外の場合は次のようになります。

pyopencl.LogicError: clCreateSubBuffer が失敗しました: 無効な値

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

opencl - PyOpenCL での argmin/argmax

PyOpenCL で argmin または argmax をどのように記述しますか? ワークグループごとに argmin/min を計算し、その後の呼び出しを使用してこれらを減らす必要があると思います。