我想试试gst_inst_128bit指令。在同一个程序中,nvvp给出了很多执行的gst_inst_128bit命令。而在nsight的分析器中,获得了4次gst_inst_32bit指令。它们应该是同一个程序。这种情况怎么会发生呢?
实验在Linux,CUDA 5.0,GTX 580上进行。程序只在内核函数中将数据从一个数组复制到另一个数组: main:
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;发布于 2013-01-12 01:21:48
Nsight EE中的Profiler和Linux上的独立Visual Profiler基于相同的代码库。请确保:
使用相同executable.
请注意,Nsight EE启动UI可能会有一点混乱。当您在调试完调试版本后单击“配置文件”时,它实际上可能会在调试可执行文件上运行配置文件,试图保留所有自定义启动设置(例如,命令行参数、工作文件夹等)。你可以做好准备。从主菜单中单击Run->Profile Configurations...查看Nsight在分析应用程序时使用的设置。
https://stackoverflow.com/questions/14254512
复制相似问题