我有一个cuda程序,我在680gtx上运行,同时测试不同的编译器选项,我注意到:
编译我的代码用于计算能力1.0和sm 1.0给出了47ms的运行时间
编译我的代码用于计算能力3.5(也是2.0)和sm 3.0给出了60ms的运行时间
这种结果可能是什么原因?
我正在编译Linux和CUDA 5.0上的nsight编译器,我的内核主要是内存绑定.
谢谢.
命令:
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"
Run Code Online (Sandbox Code Playgroud)
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"
Run Code Online (Sandbox Code Playgroud)
有关编译内核的更多信息:
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 …Run Code Online (Sandbox Code Playgroud)