如果我编译这个

__global__ void dummy_kernel(float *a, int N, float* b, int N2){
    unsigned int i = blockIdx.y*blockDim.y + threadIdx.y;
    unsigned int j = blockIdx.x*blockDim.x + threadIdx.x;
}

我得到这个空的 ptx 代码
.entry _Z9dummy_kernelPfiS_i(
.param .u64 _Z9dummy_kernelPfiS_i_param_0,
.param .u32 _Z9dummy_kernelPfiS_i_param_1,
.param .u64 _Z9dummy_kernelPfiS_i_param_2,
.param .u32 _Z9dummy_kernelPfiS_i_param_3
)
{

ret;
}

有没有办法强制编译器生成 ptx 而不进行优化?

最佳答案

试试 -g -G 开关
看看它发出了什么
我不确定这会涵盖所有可能的优化

关于cuda - 如何在不优化的情况下编译 cuda 内核?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12883377/

10-17 01:42