我有一个CUDA程序在680gtx上运行,在测试不同的编译器选项时,我注意到以下情况:
这样的结果可能有哪些原因?
我在Linux上使用Nsight编译器和CUDA 5.0进行编译,我的内核主要受制于内存。
谢谢。
命令如下:
cc 1.0
- 为计算能力1.0和sm 1.0编译我的代码会导致47毫秒的运行时间
- 为计算能力3.5(也是2.0)和sm 3.0编译我的代码会导致60毫秒的运行时间
这样的结果可能有哪些原因?
我在Linux上使用Nsight编译器和CUDA 5.0进行编译,我的内核主要受制于内存。
谢谢。
命令如下:
cc 1.0
nvcc --compile -O0 -Xptxas -v -gencode arch=compute_10,code=compute_10 -gencode arch=compute_10,code=sm_10 -keep -keep-dir /tmp/debug -lineinfo -pg -v -x cu -o "BenOlaCuda/src/main.o" "../BenOlaCuda/src/main.cu"
cc 3.0
nvcc -lineinfo -pg -O0 -v -keep -keep-dir /tmp/debug -Xptxas -v -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -odir "BenOlaCuda/src" -M -o "BenOlaCuda/src/main.d" "../BenOlaCuda/src/main.cu"
关于编译我的内核的更多信息:
cc 1.0
ptxas info : Compiling entry function '_Z15optimizePixelZ3tfPfS_S_S_tttttt' for 'sm_10'
ptxas info : Used 40 registers, 68 bytes smem, 64 bytes cmem[1], 68 bytes lmem
cc 3.0
ptxas info : Compiling entry function '_Z15optimizePixelZ3tfPfS_S_S_tttttt' for 'sm_30'
ptxas info : Function properties for _Z15optimizePixelZ3tfPfS_S_S_tttttt
128 bytes stack frame, 100 bytes spill stores, 108 bytes spill loads
ptxas info : Used 63 registers, 380 bytes cmem[0], 20 bytes cmem[2]