我正在尝试同时执行两个内核时使用nvprof读取性能计数器。

nvprof --concurrent-kernels on --events fb_subp0_write_sectors ./myprogram

但是,通过执行此操作,内核执行似乎是序列化的。 我想要的就是它们在同时运行时的表现。

当内核同时运行时,是否可以读取性能计数器? 我不一定需要每个内核的性能,聚合数据非常好。

我在计算机3.5的Kepler gpu上运行。

===============>>#1 票数:3 已采纳

nvprof v7.5及更早版本不支持以对调查并发内核性能有用的方式收集性能计数器。 我建议您通过NVIDIA开发人员计划提交功能请求。 这是在团队任务列表中。 客户反馈有助于在列表中移动功能。

  ask by belln translate from so

未解决问题?本站智能推荐:

2回复

如何在Linux中使用NVIDIA Nsight剖析PyCUDA代码?

这个问题与如何使用Visual Profiler剖析PyCuda代码几乎相同。 除了适用于Linux的带有CUDA 5的全新NVIDIA Nsight IDE。 我有一个PyCUDA Python脚本,我想使用花哨的Nsight进行分析。 我设置了“构建外部工具配置”,指向示例脚本
1回复

在Visual Studio 2010下使用NVIDIA Tools Extension

我正在尝试使用NVIDIA工具扩展,通过Visual Profiler对CUDA代码进行更准确的性能评估。 我正在使用Visual Studio 2010开发代码。 要为此功能设置Visual Studio 2010,我添加了 但是,当我使用时 编译说 环境变量N
1回复

在VS2010中使用Nvidia NSight进行CUDA性能分析-时间线上的分段

我想知道,假设在应用程序跟踪报告的时间轴视图中,我只调用一个内核, 处理-> CUDA->计算 我在时间轴窗口中看到的每个分段代表执行操作的扭曲吗? 如果是,我是否有办法确切地查看有多少线程参与了此操作? (我假设它不一定是启动内核时指定的数字)
1回复

使用Compute Prof(Cuda / OpenCL)在每个块上静态分配的共享内存的大小

在Nvidia的计算教授中,有一列称为“每个工作组的静态私有内存”,其工具提示为“每个块静态分配的共享内存的大小”。 我的应用程序显示每个块获得64(假定的字节)。 这是否意味着我正在使用这些字节的1-64之间的某个位置,还是探查器仅告诉我已分​​配了此共享内存量,谁知道它是否已全部使用?
1回复

有关GPU分析计数器结果的问题

我一直在玩GPU(GTX580)分析计数器。 谁能告诉我是什么导致了分析计数器结果的不确定性。 我有一个非常简单的内核,它只是将缓冲区复制到另一个缓冲区。 我分析了在这个内核中执行的指令。 对于工作项计数和工作组大小的某些配置,结果在不同的运行中是稳定的。 但对于其他一些配置,它在不同
1回复

如何使用Nvidia的Performance Toolkit执行“简化的实验”?

我正在尝试使用Nvidia的性能工具包来确定OpenGL应用程序中的性能瓶颈。 根据用户指南和提供的示例,我得到了以下代码: // ******************************************************** // Set up NVPMAPI #defi
1回复

在Volta中注册每线程程序计数器的消耗量

我很想知道Volta白皮书第18页表2底部脚注背后的含义。 虽然该表显示Volta每个SM具有256 KB寄存器,类似于其前辈,但足迹提到了这一点 构成改进的SIMT模型的一部分的每线程程序计数器(PC)通常需要每个线程两个寄存器槽。 这是否意味着对于Volta中的每个运行线
1回复

使用NVIDIA GPU在Windows上对OpenCL应用程序进行性能分析

你能帮助我吗? 我正在Windows 7 x64上开发OpenCL应用程序。 硬件是Intel Core i5,NVIDIA GTX770。OpenCL使用NVIDIA进行加速。 如果我尝试使用Intel VTune Amplifier XE 2015,我的应用程序将在分析结束时挂起,
1回复

使用CUSPARSE库的并发内核

我想问你一个关于Nvidia GPU中并发内核执行的问题。 我向我们解释我的情况。 我有一个代码,它为2个不同的矩阵(每个1个)启动1个稀疏矩阵乘法。 这些矩阵乘法是使用cuSPARSE库执行的。 我希望两个操作都可以同时执行,所以我使用2个流来启动它们。 使用Nvidia Visua
2回复

来自多个进程的并发GPU内核执行

我有一个应用程序,我希望在多个进程之间共享一个GPU。 也就是说,这些进程中的每一个都会创建自己的CUDA或OpenCL上下文,目标是相同的GPU。 根据Fermi白皮书[1],应用程序级上下文切换小于25微秒,但是在GPU上启动时启动有效地序列化 - 因此Fermi不能很好地完成这项工作。