Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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 NVIDIA Visual Profiler能否显示并发内核执行?_Cuda_Nvvp - Fatal编程技术网

Cuda NVIDIA Visual Profiler能否显示并发内核执行?

Cuda NVIDIA Visual Profiler能否显示并发内核执行?,cuda,nvvp,Cuda,Nvvp,我在许多论坛上读到,NVIDIA Visual Profiler将程序序列化,以收集时间信息 然而,在VisualProfiler中,在context选项卡下,提供了诸如“GPU上的内存副本和内核之间没有时间重叠”之类的建议,或者如果内存和内核执行存在重叠,则会显示重叠时间。此外,如果您查看,您可以看到重叠内核的输出跟踪 我想知道探查器是否可以显示有关并发内核执行的信息(即,如果我们使用3个不同的流并行运行3个内核,探查器是否可以显示这是否确实发生在GPU中)。如果是这样,我可以在visual

我在许多论坛上读到,NVIDIA Visual Profiler将程序序列化,以收集时间信息

然而,在VisualProfiler中,在context选项卡下,提供了诸如“GPU上的内存副本和内核之间没有时间重叠”之类的建议,或者如果内存和内核执行存在重叠,则会显示重叠时间。此外,如果您查看,您可以看到重叠内核的输出跟踪

我想知道探查器是否可以显示有关并发内核执行的信息(即,如果我们使用3个不同的流并行运行3个内核,探查器是否可以显示这是否确实发生在GPU中)。如果是这样,我可以在visual profiler的何处获取此信息。

是。
CUDA Toolkit 5.0中的nvprof和Visual Profiler(nvvp)(可作为注册CUDA开发人员的预览版本提供)都支持并发内核执行。

CUDA Toolkit 4.0不允许使用Visual Profiler查看并发内核,那么CUDA Toolkit 4.0呢。(注意并发内核执行不是memorycpy和内核执行重叠)据我记忆所及,内核是在5.0之前的profiler中同步运行的。自从引入费米体系结构以来,并发内核执行在很久以前就已经可用了。(如果我没有弄错的话,那就是所有具有CUDA计算能力2.x的设备)。您如何知道如何使用探查器显示此内核并发性(是GPU时间宽度图)。确实,如果您有Fermi或Kepler硬件,您可以在5.0之前的CUDA工具包上并发运行内核。但当应用程序以分析模式执行时,内核是串行运行的。5.0探查器不再具有该限制,其时间轴将正确显示并发运行的内核(例如,它们的运行将重叠)。自2.0(Fermi启动)以来,Nsight Visual Studio Edition支持并发内核跟踪。Nsight 2.1添加了设备到设备内存拷贝和内存集操作的并发跟踪(在大多数情况下作为内核实现)。Visual Profiler 5.0使用与Nsight Visual Studio Edition相同的解决方案。