cuda+ubuntu+nsight+动态并行报错

2019-01-12 11:10:27 +08:00
 zhouzhou113

error: kernel launch from device or global functions requires separate compilation mode

百度后发现大家的解决方案:在 windows+VS 中配置-rdc = true

但我的编译环境是 ubuntu+nsight,所有的配置选项中找了一遍,没有找到可以配置 relocatable-device-code 选项的,查看 makefile 文件,默认设置是 -relocatable-device-code=false

尝试把 false 更改为 true,但系统会自动更改回 true

求助 nsight 中怎么配置-relocatable-device-code 选项为 true

使用的环境是 cuda8.0+cuda toolkit8.0,nvidia gtx 1050 的卡,计算力 6.1 arch=compute_60,code=sm_60 满足动态并行的基本条件。

2338 次点击
所在节点    Ubuntu
4 条回复
zhouzhou113
2019-01-12 11:29:54 +08:00
ubuntu14.04 cuda8.0 自带的 nsight
madeye
2019-01-12 12:44:03 +08:00
直接用 Makefile 试试,但不建议用 DP,性能会差很多。

如果有很多小 kernel,可以试试 CUDA 10 的 graph launch。
pwrliang
2019-01-12 12:58:46 +08:00
nsight 在 project 右键设置,可以开 separate compilation
zhouzhou113
2019-01-12 14:11:35 +08:00
@pwrliang 恩恩,编译通过了,谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/526295

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX