JCudaを使用してCUDAカーネルを実行するJavaコードを書きました。私はストリームがどのように重なり合っているかを知るためにアプリケーションをプロファイルしたいと思います。私は、カーネルの実行時間を得るためにcudaEventElpasedTimeのようなcudaイベントコールを使用することができますが、同じカーネルの開始タイムスタンプと終了タイムスタンプを取得する方法はわかりません。nvprofを使用せずにCUDAイベントの開始時間と終了時間を取得する方法
nvprofはそのような結果を生成してタイムラインを表示できますが、Javaアプリケーションでnvprofを実行する方法は見つけられません。
編集:解答のおかげで、nvprofを使用してJavaアプリケーションをプロファイルする方法を理解しました。私はまだcudaEventコールを使って開始時刻と終了時刻を取得する方が好きです。それはnvprofがその情報を得ることができるようですが、エンドユーザーがそうするためのAPIはありませんか?
@Shadow @ cudaEvent呼び出しを使用して開始時刻と終了時刻を取得することをお勧めします。プロフィールの対象をより詳細に制御できます。 – Xiangyu
Visal Profilerを使用することもできます。 [いくつかの他のバージョンで](https://forum.byte-welt.net/t/jcuda-and-nvvp-visual-profiler/3667)(https://devtalk.nvidia.com/default/topic/524531/profiler-error-message-when-profiling-jcuda-application /)、CUDA 8.0でやり直したようです。 – Marco13
@ Marco13、これはWindowsでのみ動作しますか?私はそれが働くためにバットを作る必要があることを読んだ、私はLinuxの下で.shスクリプトを試していない。 – Xiangyu