我想了解手写内核的每个CUDA线程的资源使用情况。 我编译kernel.cu文件到kernel.o文件,nvcc -arch=sm_20 -ptxas-options=-v ,我得到了下面的输出 ptxas info : Compiling entry function '_Z12searchkernel6octreePidiPdS1_S1_' for 'sm_20'
ptxas info :
NVIDIA CUDA的PTX优化汇编,ptxas,有以下几个选项: --abi-compile <yes|no> (-abi)
Enable/Disable the compiling of functions using ABI.
Default value: 'yes'.
ABI那是什么?当你禁用它会发生什么?它似乎导致更少的寄存器使用,嗯
我试图让使用NVCC选项 --ptxas-options=v我CUDA内核有关的寄存器使用情况的信息,并同时与全球功能一切正常,我有一些困难由于 ptxas info : Used N registers 线设备那些缺少在输出中。我试图使用noinline关键字,并将它们保存在另一个文件中,与调用全局函数有关,因为我认为NVCC报告了全局函数的全部注册使用情况,包括内联后的被调用设备的全局函数,但
我想CUDA来实现这个原子功能: __device__ float lowest; // global var
__device__ int lowIdx; // global var
float realNum; // thread reg var
int index; // thread reg var
if(realNum < lowest) {
lowest= realNum