我想尝试gst_inst_128bit指令。 在同一个程序中,nvvp执行了很多gst_inst_128bit命令。 在nsight的分析器中,获得了4次gst_inst_32bit指令。 它们应该是同一个程序。这种情况怎么可能发生?
在Linux,CUDA 5.0,GTX 580上尝试了该实验。 该程序仅在内核函数中将数据从一个数组复制到另一个数组: 主要:
cudaMalloc((void**)&dev_a, NUM * sizeof(float));
cudaMalloc((void**)&dev_b, NUM * sizeof(float));
kernel<<<grid,block>>>((uint4 *)dev_a, (uint4 *)dev_b);
内核:
__global__ void kernel(uint4 *a, uint4 *b){
unsigned int id = blockIdx.x * THREAD_NUM + threadIdx.x;
for(unsigned int i = 0;i < LOOP/4;i++){
b[id + i * GRID_NUM * THREAD_NUM] = a[id + i * GRID_NUM * THREAD_NUM];
}
return;
答案 0 :(得分:1)
Nsight EE中的Profiler和Linux上的独立Visual Profiler基于相同的代码库。请确保:
请注意,Nsight EE启动UI可能会有些混乱。在调试调试版本后单击“配置文件”时,它可能实际上在调试可执行文件上运行分析,试图保留您可以设置的所有自定义启动设置(例如命令行参数,工作文件夹等)。在主菜单中,单击运行 - &gt; 配置文件配置... 以查看Nsight在分析应用程序时使用的设置。