作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Cmake
中有一个 C 项目我在其中嵌入了cuda
内核模块。
我要通过--ptxas-options=-v
仅限 nvcc
为了查看
每个线程使用的寄存器数量和
每个 block 的共享内存使用情况。
通过搜索如何将标志传递给 nvcc
在 Cmake
,我遇到了一个解决方案
add_compile_options(myprog
PRIVATE
$<$<COMPILE_LANGUAGE:C>:-Wall>
$<$<COMPILE_LANGUAGE:CUDA>:-arch=sm_20 -ptxas-options=-v>
)
nvcc
适本地。
--ptxas-options=-v
给我的
nvcc
编译器?
最佳答案
设置 CUDA 标志的正确方法 仅针对目标 是
target_compile_options(<my_target> PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:my_cuda_option>)
CMAKE_CUDA_FLAGS
正如其他答案所建议的那样,为所有目标设置了一个全局属性,这可能是也可能不是正确的方法,具体取决于用例。
关于cmake - 如何在 CMAKE 中将标志传递给 nvcc 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53256405/
我是一名优秀的程序员,十分优秀!