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 满足动态并行的基本条件。
1
zhouzhou113 OP ubuntu14.04 cuda8.0 自带的 nsight
|
2
madeye 2019-01-12 12:44:03 +08:00 via Android 1
直接用 Makefile 试试,但不建议用 DP,性能会差很多。
如果有很多小 kernel,可以试试 CUDA 10 的 graph launch。 |
3
pwrliang 2019-01-12 12:58:46 +08:00 via Android
nsight 在 project 右键设置,可以开 separate compilation
|
4
zhouzhou113 OP @pwrliang 恩恩,编译通过了,谢谢
|