問題タブ [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 投票する
3 に答える
1667 参照

c - Pure C OpenCL と Python OpenCL のパフォーマンスの比較

OpenCL への Python ラッパーと Pure C OpenCL の間のパフォーマンス測定を探しています。パフォーマンスの測定値は、時間、メモリなどによって変化する可能性があります。 - 利用可能なベンチマークはありますか? - タイム パフォーマンスの違いについて、どのようなことが予想されますか? - どのような種類のタスク (もちろん並行して...) が違いを生む必要がありますか?

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

python - Windows への pyopencl のインストール

どうやらopencl 1.1とグラフィックドライバーをインストールするGTX 770を持っています。しかし、とにかくAMD APPをインストールしました(AMD CPUを持っています)。いずれにせよ、pyopenclが機能しないため、問題ありません。インポート時に同じエラーを吐き続けます。

私が実行しているほとんどのopenclデモとプログラムは問題なく動作するため、特に問題があると思いますpyopencl。いくつかの依存関係が不足していると思いますか、それともバイナリが上位バージョンをopencl念頭に置いてコンパイルされたのでしょうか? Visual Studio 2008 と 2010 があります。2013.1 と 2014.1 のバイナリをインストールしてみました。.tar.gzsetup.pyから実行する と運が良くなるかもしれないと考えましたが、それもうまくいきません。ただし、これはより一般的なものであり、私が持っている、、、およびバージョンが見つからないものです。cygwincompiler.pyldgccdllwrap

.NET やブーストのインストールなど、さまざまなことを試しました。どうすればいいのか本当にわかりません。「依存」を実行しましたが、明らかにWindows 7 64ビットではうまく機能しません。pycuda も動作しません。ほぼ同じエラー メッセージが表示されます。cudaも問題なく動作しています。この場合もバージョンが間違っている可能性があります。または、どちらも姉妹プロジェクトであるため、作者には私が知らない他の共通の依存関係があります。

私はたくさんグーグルで調べましたが、解決策が見つからないようです。どんな助けでも大歓迎です。

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

numpy - numpyでページ整列メモリを取得する

arrayページ境界で numpy のデータ セクション (つまりデータ) を割り当てる方法はありますか?

CL_MEM_USE_HOST_PTRIntelデバイスでPyOpenCLを使用していて、を使用してバッファを作成したい場合、私が気にする理由については、データが1)ページ整列され、2)キャッシュラインの倍数のサイズであることを推奨しています。

C では、ページ整列メモリを割り当てるさまざまな方法があります。例を参照してください: GCC で整列された malloc()?

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

ubuntu - PyOpenCL Ubuntu Nvidia - プラットフォームが見つかりません

python-pyopenclUbuntuパッケージを使用してインストールした後、PyOpenCL が Nvidia デバイスにアクセスできません。PyOpenCL をインストールするこの方法は、同じハードウェアと同じバージョンの Ubuntu (14.10) で機能していました。

pyopencl.get_platforms()エラーメッセージを実行すると、次のようになります。

さまざまなドライバー、さまざまなパッケージの組み合わせ、および OS の新規インストールを試しました。

NvidiaカードのUbuntuにPyOpenClをインストールするにはどうすればよいですか?

更新 1

OS の新規インストール後、get_platforms()AMD と Intel (beignet) の 2 つのプラットフォームが表示されます。Nvidia はまだ動作しません。

更新 2

http://wiki.tiker.net/OpenCLHowToでさらにいくつかのことを試した後、python-pyopenclパッケージはエラーをスローするようになりました。

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

python - AttributeError: 'CommandQueue' オブジェクトに属性 'dtype' がありません

pyFFT で FFT を計算しようとしています。しかし、次のコードはエラーになります。

ref_input のタイプは次のとおりです。

デバッグ出力:

実際、「dtype」が見つかりません。しかし、なぜ?

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

python - 「GLXPlatform」オブジェクトには属性「WGL」がありません

私は OpenGL/OpenCL の初心者です。この例のコードを実行しようとして いますが、エラーがあります:

私が理解しているように、WGL は Windows OS 用の API であり、Linux 用ではありません。どうにかしてプラットフォームを事前に指定する必要がありますか? または、どうすればこれを修正できますか?

前もって感謝します!

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

python-3.x - GPUで実行すると、同じ配列への多数の割り当てがpyopencl.LogicErrorを引き起こす可能性がありますか?

pyOpenCL を使用して複雑な計算を行っています。CPU では問題なく動作しますが、NVIDIA GeForce 9400M (256 MB) で実行しようとするとエラーが発生します。Mac OS X Lion (10.7.5) で作業しています

奇妙なことに、このエラーは常に表示されるとは限りません。私の計算でより大きな数を使用した場合(結果としてより大きな反復が発生した場合)に発生するようですが、GPUで実行した場合にのみ発生します。

書き込むべきではないメモリの場所に書き込んでいるわけではありません。コードを単一の作業項目として実行することで、同時修正で起こりうる問題を排除しました。


OpenCL コードを可能な限り単純化し、残ったものから、非常に奇妙な動作をする非常に単純なコードを作成しましたpyopencl.LogicErrorresultこれは、配列に対していくつかの割り当てが行われる 2 つのネストされたループで構成されます。この割り当ては、ループの状態に依存する必要さえありません。shape = (1,)これは、GPU上の単一のスレッド (または作業項目) で実行されます。

奇妙な部分は、結果配列への割り当てのいずれかを削除するとエラーが削除されることです。また、outer の初期値を ((1<<20)-1たとえば に) 減らすと、エラーも解消されます。これらの場合、コードは正常に戻り、対応するバッファーで正しい結果が使用可能になります。CPU では、エラーが発生することはありません。


OpenCL コードは、PyOpenCL を使用して Python から実行されます。

セットアップに特別なものはありません:

この Python コードでは、 を に設定しresult_buf0OpenCL で計算を実行して、大きな反復で値を設定します。その後、デバイスのメモリからこの値を収集しようとしましたが、ここで問題が発生しました。

最後の行は私に与えます:


  • この繰り返しの代入がどのようにエラーを引き起こす可能性がありますか?

  • さらに重要なことは、どうすれば回避できるかということです。


この問題はおそらくプラットフォームに依存しているため、再現が難しいことを理解しています。しかし、これは私がアクセスできる唯一のマシンなので、コードはこのマシンで動作するはずです。

免責事項: OpenCL (または CUDA) を使用したことはありません。GPU が OpenCL をサポートしていないマシンでコードを書きました。私はいつもCPUでそれをテストしました。GPU に切り替えた今、エラーが一貫して発生しないことに不満を感じており、原因がわかりません。

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

python - GPU で OpenCL を実行しないのはなぜですか (Ubuntu)

マルチバースから python-pyopencl を取得し、amd app sdk をインストールして、ラップトップに pyopencl をセットアップしました。Nvidia ICD を入手するために、ドライバー マネージャーから最新の Nvidia ドライバーを再インストールしました。

私のシステムは、Thinkpad t540p、i7 4700hq、Nvidia gt 730m、64 ビット Ubuntu 14.04 です。

opencl のインストールをテストするために、次の pyopencl の例を実行しました: http://wiki.tiker.net/PyOpenCL/Examples/MatrixMultiply

残念ながら、パフォーマンスは非常に悪く、わずか 2 GFlop/s です。確かにラップトップはもっとうまくいくことができます。だから私はベンダー情報を印刷しました。それは「GenuineIntel」であり、どうやらカーネルは GPU ではなく CPU 上で実行されます。どうすればそれを変更できますか?

pyopencl が GPU を見つけられないようです。

これは「GenuineIntel」のみを返します

コンテキストは次のように作成されます。

アップデート:

これは次の重複のようです:エラー: pyopencl: 特定のデバイスのコンテキストを作成しています