簡體   English   中英

NVCC,與-Xcompiler的奇怪交互

[英]NVCC, strange interaction with -Xcompiler

我正在嘗試構建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'

Google搜索顯示-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'

即使在-Xcompiler后面,它在下一個非nvcc選項上也會失敗。 這是可行的:

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版本中沒有像以前那樣工作。 可能是錯誤嗎?

根據這個 ,你要分開你的不同-Xcompiler用逗號分隔的子選項,或者你必須使用每個選項單獨-Xcompiler ,就像你在你的最后一次嘗試做。 看來這是預期的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM