【发布时间】:2019-04-14 20:01:13
【问题描述】:
我在 Cmake 有一个 C 项目,其中嵌入了 cuda 内核模块。
我只想将--ptxas-options=-v 传递给nvcc 以便查看
每个线程使用的寄存器数和
每个块的共享内存使用量。
通过在Cmake 中搜索如何将标志传递给nvcc,我遇到了一个解决方案
add_compile_options(myprog
PRIVATE
$<$<COMPILE_LANGUAGE:C>:-Wall>
$<$<COMPILE_LANGUAGE:CUDA>:-arch=sm_20 -ptxas-options=-v>
)
但这并没有向我显示上述属性。我认为这些标志没有正确传递给nvcc。
如何将--ptxas-options=-v 传递给我的nvcc 编译器?
【问题讨论】:
-
我认为您正在寻找target_compile_options,而不是add_compile_options。
-
target_compile_options(myprog PUBLIC $:--ptxas-options=-v>) 工作。谢谢。