gpt4 book ai didi

cuda - Unresolved extern 函数 'cudaCGGetIntrinsicHandle' 反击

转载 作者:行者123 更新时间:2023-12-04 10:55:22 26 4
gpt4 key购买 nike

我正在为我的 cuda-api-wrappers 构建示例 repo 。前阵子遇到一个问题:每当我尝试编译一个.cu使用“合作组”机制编写代码的文件,我收到一条错误消息:

ptxas fatal   : Unresolved extern function 'cudaCGGetIntrinsicHandle'

这很奇怪,因为我只是在编译。好吧,我使用 this nVIDIA DevTalk forum thread 上的建议解决了这个问题。 :

I suggest ... specifying -rdc=true



我做到了,这似乎奏效了。然而,现在(在 Devuan 3 ~= Debian 10 上使用 CUDA 10.1),我在链接过程中遇到错误:
/usr/bin/nvcc   -I/path/to/src/cuda-api-wrappers/src -I/path/to/src/cuda-api-wrappers  -gencode arch=compute_61,code=sm_61 -Xcompiler -Wall -O3 -DNDEBUG   -rdc true -std=c++11 -x cu -c /path/to/src/cuda-api-wrappers/examples/by_runtime_api_module/execution_control.cu -o CMakeFiles/execution_control.dir/examples/by_runtime_api_module/execution_control.cu.o
/usr/bin/nvcc -gencode arch=compute_61,code=sm_61 -Xcompiler -Wall -O3 -DNDEBUG -Xcompiler=-fPIC -Wno-deprecated-gpu-targets -shared -dlink CMakeFiles/execution_control.dir/examples/by_runtime_api_module/execution_control.cu.o -o CMakeFiles/execution_control.dir/cmake_device_link.o -L/usr/lib/x86_64-linux-gnu/stubs -L/usr/lib/gcc/x86_64-linux-gnu/8 lib/libcuda-api-wrappers.a /usr/lib/x86_64-linux-gnu/libcudart_static.a -lpthread -ldl -lcudadevrt -lcudart_static -lrt
nvlink error : Undefined reference to 'cudaCGGetIntrinsicHandle' in 'CMakeFiles/execution_control.dir/examples/by_runtime_api_module/execution_control.cu.o'
nvlink error : Undefined reference to 'cudaCGSynchronizeGrid' in 'CMakeFiles/execution_control.dir/examples/by_runtime_api_module/execution_control.cu.o'

为什么我仍然收到这些错误,我该怎么办?

最佳答案

这是一个非常棘手的错误......我还没有设法为它生成一个合适的 MCVE。但是,如果我附加:

-L /usr/lib/x86_64-linux-gnu
到失败的命令行,即:
/usr/bin/nvcc   -gencode arch=compute_61,code=sm_61 -Xcompiler -Wall -O3 -DNDEBUG -Xcompiler=-fPIC -Wno-deprecated-gpu-targets -shared -dlink CMakeFiles/execution_control.dir/examples/by_runtime_api_module/execution_control.cu.o -o CMakeFiles/execution_control.dir/cmake_device_link.o  -L/usr/lib/x86_64-linux-gnu/stubs  -L/usr/lib/gcc/x86_64-linux-gnu/8 lib/libcuda-api-wrappers.a /usr/lib/x86_64-linux-gnu/libcudart_static.a -lpthread -ldl  -lcudadevrt -lcudart_static -lrt -L /usr/lib/x86_64-linux-gnu
有用。我想知道如何让 CMake 想要这样做。

关于cuda - Unresolved extern 函数 'cudaCGGetIntrinsicHandle' 反击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59239051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com