Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cuda 如何使用nvprof打印每个线程的api调用_Cuda_Gpu_Nvidia_Nvprof_Nvvp - Fatal编程技术网

Cuda 如何使用nvprof打印每个线程的api调用

Cuda 如何使用nvprof打印每个线程的api调用,cuda,gpu,nvidia,nvprof,nvvp,Cuda,Gpu,Nvidia,Nvprof,Nvvp,我正在分析一个CUDA应用程序,并将日志转储到文件target.prof中 我的应用程序使用多个线程来调度内核,我只想观察其中一个线程的api调用。 我尝试使用nvpro-I target.prof--print api trace,但这不会打印线程id 当我用VisualProfiler打开这个文件时,我可以看到哪些API调用是从哪个线程启动的。如何使用命令行探查器访问相同的信息 编辑:在可视探查器中查看 GPU线程是启动这些内核还是CPU线程?如果是cpu线程,则使用选项--cpu线程跟踪c

我正在分析一个CUDA应用程序,并将日志转储到文件target.prof中

我的应用程序使用多个线程来调度内核,我只想观察其中一个线程的api调用。 我尝试使用
nvpro-I target.prof--print api trace
,但这不会打印线程id

当我用VisualProfiler打开这个文件时,我可以看到哪些API调用是从哪个线程启动的。如何使用命令行探查器访问相同的信息

编辑:在可视探查器中查看


GPU线程是启动这些内核还是CPU线程?如果是cpu线程,则使用选项
--cpu线程跟踪

cpu线程。我尝试使用
nvpro-I target.prof--cpu线程跟踪打开--print api跟踪
这仍然不显示输出线程信息。我还尝试在记录日志时使用此选项,但仍然不起作用。我尝试了
nvprof--cpu profiling on--cpu profiling线程模式分离。/a.out
。我正在获取cpu线程ID。我使用了
std::async
来启动内核,我尝试用这些选项分析我的应用程序,但它似乎挂起了。我还附上了VisualProfiler屏幕的截图。它显示了来自2个线程的api调用。但是,当我只使用
nvprof--print api trace
时,它只显示3列-时间、持续时间和调用名您是否尝试过这个命令
nvprof--cpu profiling on--cpu profiling thread mode separated./a.out
是的,当我使用它运行程序时,它会挂起