nvprofのバグ

CUDA Advent Calendar 2019 4日目の記事です.
今日はちょっと軽めで.

nvprofさんさようなら

廃止が決まっているんですよね,nvprofさん.

Note that Visual Profiler and nvprof will be deprecated in a future CUDA release. 
It is recommended to use next-generation tools NVIDIA Nsight Compute for GPU profiling and NVIDIA Nsight Systems for GPU and CPU sampling and tracing.
Profiler User's Guide

これからはNsight ComputeとNsight Systemsを使いましょうとのこと.

nvprofのバグ

これ自体は大したことないです.
表示がバグるだけ.

例えば上のように名前空間にtemplateを用いたグローバル関数を定義し,これの実行をnvprofで観測すると

void _GLOBAL__N__39_tmpxft_00007357_00000000_8_main_cpp1_ii_main::kernel(float*, float, float*, _GLOBAL__N__39_tmpxft_00007357_00000000_8_main_cpp1_ii_main::kernel)
となります.
何が起きているかというと,
  • 第2引数以降のポインタの*が1つ減る
  • ポインタでない場合は関数名になる
という感じです.
可愛らしいバグですね.

おわり

さて廃止までに修正が入るのでしょうか??

カテゴリー:CUDA
記事作成日:2019-12-04