AMDs APP OpenCL 実装と JOCL バインディングを使用して、Java 自動リソース管理を使用して汎用ブラケット プロファイラーを作成しようとしています。基本的な考え方は次のとおりです。
class Timer implements AutoCloseable {
...
Timer {
...
clEnqueueMarker( commandQueue, startEvent );
}
void close() {
cl_event stopEvent = new cl_event();
clEnqueueMarker( commandQueue, stopEvent );
clFinish( commandQueue );
... calculate and output times ...
}
}
私の問題は、マーカー コマンド イベント (stopEvent および startEvent) のプロファイリング情報が利用できないことです。これは、a) コマンド キューに CL_QUEUE_PROFILING_ENABLE を設定し、b) コマンド キューをフラッシュして待機し、停止イベントと開始イベントがエラーなしで CL_COMPLETE であることを確認しているにもかかわらずです。
私の質問は、プロファイリングは AMD OpenCL のマーカー コマンドでサポートされていますか? そうでない場合、仕様で明示的に禁止されていますか (この効果については何も見つかりませんでした)? ありがとう。