Nvidia视觉分析器在内核启动后未显示cudaMalloc()

时间:2018-10-23 09:43:18

标签: cuda nvidia thrust dynamic-parallelism

我正在尝试编写一个几乎完全在GPU上运行的程序(与主机的交互很少)。 initKernel是从主机启动的第一个内核。我使用动态并行从initKernel启动连续的内核,其中两个是thrust::sort(thrust::device,...)

enter image description here

在启动initKernel之前,我先在主机代码上执行cudaMalloc(),它在Visual Profiler的 Runtime API 中显示。在cudaMalloc函数中出现的__device__和连续的内核(在initKernel启动后)都没有显示在Visual Profiler的 Runtime API 中。 。有人可以帮助我理解为什么我无法在Visual Profiler中看到cudaMalloc吗?

谢谢您的时间。

1 个答案:

答案 0 :(得分:2)

  

有人可以帮助我理解为什么我无法在Visual Profiler中看到cudaMalloc吗?

因为这是该工具的记录限制。来自documentation

  

Visual Profiler时间轴不显示从设备启动的内核内部调用的CUDA API调用。