問題タブ [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.
opencl - OpenCL オーバーヘッドの測定と最小化
長い計算を行う pyopencl プログラムがあります (1 回の実行で約 3 ~ 5 時間)。いくつかのカーネルをサイクルで 1 つずつ開始しています。だから私はこのようなものを持っています:
時間を測定したところ、次のようになりました。
- システム時間は 4:30 時間です (Linux
time
コマンドで測定) - 純粋な opencl イベントベースのタイミングは 3:30 時間 (ロード + 計算 + ストア)
知りたい:
- OpenCL プログラムの最小オーバーヘッドはどれくらいですか? 私の場合は35%くらいです
- イベントベースのタイミングを信頼する必要がありますか?
- プロファイリングを有効にすると、プログラム全体の実行時間がかなり長くなりますか?
オーバーヘッドがプログラムに依存することは知っていますし、Python は純粋な C や CPP ほど高速ではないことも知っています。しかし、重い計算をすべて OpenCL カーネルに移行すると、5 ~ 7% しか失うことがないと信じています。間違っている場合は修正してください。
PS AMD OpenCL、AMD GPU
debugging - PyOpenCL と一緒に GPU プロファイラー (CodeXL など) を使用する
多くのバッファ作成、カーネル テンプレートなどを含む複雑な PyOpenCL アプリがあります。GPU でアプリをプロファイリングして、私の場合のボトルネックが何であるかを確認したいと考えています。
PyOpenCl アプリで gpu プロファイラーを使用することは可能ですか? たとえば、CodeXL.
PS イベントプロファイリングについては知っていますが、それだけでは十分ではありません。
opencl - AMD GPU はログイン時のみ利用可能
Linux で AMD Radeon GPU を実行しており、AMD SDK for OpenCL (最新バージョン) がインストールされています。
現在、GDM 経由でログインしていないとき (メインの X サーバーが実行されていないとき)、利用可能な AMD GPU がないため、すべての計算は CPU によって行われます。GDM 経由でログインしている場合 (メインの x サーバーが実行されている場合)、Python で次のプログラムを使用して GPU を一覧表示すると、GPU が表示されます (コア部分のみが表示されます)。
私の質問は、X サーバー (fglrx) を実行せずに AMD GPU を使用できるかどうかです。それを行う方法はありますか?
ジョン
memory-management - OpenCL Matrix Average 計算の最適化?
pyopenCL を使用して、Python でウェブカメラ ストリームの平均を計算しようとしています。テストとして、以下に示すように、いくつかのフレームにわたって代表的な行列の平均を計算しようとしています。
ただし、私のコードは CPU よりも GPU の方が 30 倍遅いようです。これは、私の for ループの使用と、ワークグループの割り当て不足が原因である可能性が最も高いです。
Python の for ループを取り除き、ワークグループを適切に割り当てることはできますか?