gpt4 book ai didi

c++ - NVCC,与 -Xcompiler 的奇怪交互

转载 作者:行者123 更新时间:2023-11-27 23:02:09 25 4
gpt4 key购买 nike

我正在尝试构建 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'

它在下一个非 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 那样工作。会不会是一个错误?

最佳答案

根据 this ,您必须用逗号分隔不同的 -Xcompiler 子选项,或者您必须为每个选项使用单独的 -Xcompiler,就像您在上次尝试中所做的那样。看起来这是故意的。

关于c++ - NVCC,与 -Xcompiler 的奇怪交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26674885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com