我正在努力构建Magma,我遇到了一些问题,我很确定我在使用CUDA的早期版本时并没有遇到这些问题。(我现在用6.5 )。所发生的情况是makefile生成以下命令:
nvcc -fPIC -O3 -DADD_ -Xcompiler -fno-strict-aliasing -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_35,code=compute_35 -I/opt/cuda/include -I../include -I../control -I../sparse-iter/include -c zgemv_conjv.cu -o zgemv_conjv.o
nvcc fatal : Unknown option 'fPIC'谷歌显示,-fPIC只应该与-Xcompiler一起使用,因为它不是nvcc选项。但正如您所看到的,我的nvcc命令中确实有-Xcompiler。
我试着把-fPIC放在-Xcompiler后面,像这样:
nvcc -O3 -DADD_ -Xcompiler -fPIC -fno-strict-aliasing -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_35,code=compute_35 -I/opt/cuda/include -I../include -I../control -I../sparse-iter/include -c zgemv_conjv.cu -o zgemv_conjv.o
nvcc fatal : Unknown option 'fno-strict-aliasing'它在下一个非nvcc选项上失败,尽管它落后于-Xcompiler。有效的办法是:
nvcc -O3 -DADD_ -Xcompiler -fno-strict-aliasing -Xcompiler -fPIC -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_35,code=compute_35 -I/opt/cuda/include -I../include -I../control -I../sparse-iter/include -c zgemv_conjv.cu -o zgemv_conjv.o我在那里复制了-Xcompiler开关。有人知道这是否是故意的行为吗?我找不到关于它的任何参考资料或文件,而且我很确定在以前的CUDA版本中,它不像以前那样工作。会不会是个虫子?
发布于 2014-10-31 13:20:34
根据这,您必须用逗号分隔您不同的-Xcompiler子选项,或者您必须为每个选项使用一个单独的-Xcompiler,就像您上次尝试时所做的那样。看起来这是故意的。
https://stackoverflow.com/questions/26674885
复制相似问题