刚开始使用nsight,好东西,用起来很爽。不过OpenMP用不成,搞了半天,略郁闷,求解
问题如下:
(1)首先我的程序直接用nvcc是编译得通的,也可以运行,完全没问题
nvcc -Xcompiler -fopenmp -I$HOME/anmclib-v30 -o a.out src.cu
其中$HOME/anmclib-v30是我自己的一堆header
(2)然后用nsight,建立了一个Project,文件还是那些文件。然后设置Project的properties,设置了两处
①include:也就是添上了(1)中的路径,如图
②build stages→Preprocessor options:加上了-fopenmp,如图:
(3)然后,build,如图:
(4)出现问题,如图:
下面相同的undefined reference 还有一大堆.........
但是生成的编译行是正确的(是吧?):
nvcc -I/home/simage/anmclib-v30 -O0 -Xcompiler -fopenmp -gencode arch=compute_13,code=sm_13 -odir "" -M -o "rtm.d" "../rtm.cu"
将其略作修改,放到terminal中执行:
nvcc -I/home/simage/anmclib-v30 -O0 -Xcompiler -fopenmp -gencode arch=compute_13,code=sm_13 -odir "" -M -o a.out rtm.cu
通过了
(5)为毛?
|