質問
私はOpenCLに取り組んでいます。 OpenCLコードとトレースに足を踏み入れることができるように、OpenCLの良いデバッガーを知っている人はいますか?
解決
おそらく、GremedyのOpenCLデバッガーが役立つでしょうか?http://www.gremedy.com/gdebuggercl.php
他のヒント
また、Codexlを調べたい場合があります。
https://gpuopen.com/compute-product/codexl/
CodexlはもともとAMDによって開発されましたが、後にオープンソースプロジェクトとしてリリースされました。
あなたの最善の策は、Intel OpenCL SDK 1.5で発表されたCPUのIntelデバッガーです。
Intel opencl sdkVisual Studioで段階的にデバッグできます。
Linux OSの下でX86 CPUでGDBを使用してみることができるかもしれません。AMDのチュートリアルを参照してください。http://developer.amd.com/gpu/atistreamsdk/assets/debugging_opencl_with_gdb_on_x86_cpus.pdf
getattr
メンバーのメンバーを取得する文字列として名前。
getattr(self, 'handle_' + instruction)(data)
. 私はそれを使用していませんが、 clbuilder 有望に見えます
Clbuilderの主な機能
- 色の構文を備えたOpenCLカーネルを書き込みます
- 自分のアプリを起動してデバッグする必要なく、エラーを確認するためにカーネルをコンパイルします。
- ビルド設定を簡単に作成および選択します。
- カーネル入力値を定義し、結果を確認します。
- パフォーマンスを改善するために、カーネルの実行時間をプロファイルします。
- パフォーマンスを確認するために、さまざまな作業アイテムサイズセット(グローバルおよびローカル)を作成します。
- CPUでprintfを使用してカーネルを実行し、コードを簡単にデバッグします。
- チャートに入力値と出力値を表示します。
- Clbuilderが何をしているかを確認するために実行ログインを参照してください(各opencl C機能を記録します)。
- カーネルが使用するローカルおよび絶え間ない引数とリソースを確認してください。
- cコードを生成してカーネルを実行すると、Clbuilderはこの生成されたソースコードをコンパイルして実行します。
- プラットフォーム情報を含むすべてのOPENCLプロパティを簡単に確認してください。
nvidia's 平行なnsight デバッガー(以前はNexusとして知られていました)はOpenCL(GPU)をサポートしています。
ウェブサイトから:
Parallel Nsightは、Cuda C、OpenCL、Direct Compute、Direct3D、およびOpenGLをサポートしています。