私は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で発表されたIntel Debugger for CPUです。
Intel OpenCL SDK Visual Studioで段階的にデバッグできます。
Linux OSのx86 CPUでGDBを使用してみてください。AMDのチュートリアルを参照してください。 http://developer.AMD.com/gpu/ATIStreamSDK/assets/Debugging_OpenCL_with_GDB_on_x86_CPUs.pdf
AMD gDEBuggerのみがOpenCLの段階的な実行とその他のおいしい機能をサポートしています http://developer.AMD.com/tools/gDEBugger/Pages/default.aspx
NVidia Parallel NSightおよびその他のNVidia製品は、マーケティング上の決定により、OpenCLデバッグをサポートしません。
使用していませんが、 CLBuilder は有望に見えます
CLBuilderの主な機能
- カラー構文でOpenCLカーネルを作成する
- カーネルをコンパイルしてエラーをチェックします。独自のアプリを起動してデバッグする必要はありません。
- ビルド設定を簡単に作成して選択します。
- カーネル入力値を定義し、結果を確認します。
- パフォーマンスを向上させるために、カーネル実行時間をプロファイルします。
- 異なるワークアイテムサイズセット(グローバルとローカル)を作成して、パフォーマンスをチェックします。
- CPUでprintfを使用してカーネルを実行し、コードを簡単にデバッグします。
- グラフに入力値と出力値を表示します。
- CLBuilderが何をしているかを確認するために実行ログを調べます(各OpenCL C関数をログに記録します)。
- カーネルが使用するローカルおよび定数の引数とリソースを確認してください。
- カーネルを実行するCコードを生成します。CLBuilderは、この生成されたソースコードもコンパイルして実行します。
- プラットフォーム情報を含むすべてのOpenCLプロパティを簡単にチェックします。
NVIDIAの Parallel Nsight デバッガー(以前はNexusと呼ばれていました)はOpenCL(GPU)をサポートしています。
ウェブサイトから:
Parallel Nsightは、CUDA C、OpenCL、DirectCompute、Direct3D、およびOpenGLをサポートしています。