【发布时间】:2013-10-12 12:19:57
【问题描述】:
我在 CUDA 中的双重并行性方面没有什么问题。 我有一个名为 First.cu 的文件和一个名为 main.cpp 的主文件
我遇到了错误。
错误:从 __global__ 调用 __global__ 函数(“kernel_6”) function("kernel_5") 仅允许在 compute_35 架构上或 以上>
然后我按照这个线程再次配置了我的属性。
View -> Property Pages-
Configuration Properties -> CUDA C/C++ -> Common -> Generate Relocatable Device Code -> Yes (-rdc=true) Configuration Properties -> CUDA C/C++ -> Device -> Code Generation -> compute_35,sm_35Configuration Properties -> Linker -> Input -> Additional Dependencies -> cudadevrt.lib
现在我收到这样的错误。
nvcc:致命错误:nvcc 支持 '--relocatable-device-code=true 仅 (-rdc=true)'、'--device-c (-dc)' 和 '--device-link (-dlink)' 针对 sm_20 或更高版本时
请帮助我。我应该怎么做才能消除这个错误?
我已添加所有必需的 CUDA 库。我安装了 CUDA 5.5 并且我有 GTX780 。
【问题讨论】:
-
什么样的错误?我看不到任何
-
已编辑..请再看
-
那么目标不要低于 sm_20,如错误消息所述。如果可能,只选择 _35
-
我可以从哪里选择 SM_35 .. 你能详细说明一下吗?
-
这与Compiling code containing dynamic parallelism fails 中的讨论相同。可能您的错误是由于滥用 Visual Studio 而引起的,可以通过要求某人(同事?)修改您的 Visual Studio 解决方案的设置来解决。
标签: c++ visual-c++ cuda dynamic-programming