gpt4 book ai didi

c++ - 未知的 nvlink 错误

转载 作者:搜寻专家 更新时间:2023-10-31 01:09:32 24 4
gpt4 key购买 nike

每当我尝试构建我的项目时,我都会得到这个:

make all
Building target: CudaMaster
Invoking: NVCC Linker
nvcc --relocatable-device-code=true -gencode arch=compute_35,code=sm_35 -link -o "CudaMaster" ./Demodulator.o ./DifferentialDecoder.o ./Downsampler.o ./FileReader.o ./Filter.o ./GPURuntimeMetric.o ./Kernels.o ./PreambleDetector.o ./SampleComparator.o ./Samples.o ./TestBench.o ./main.o
nvlink error : Undefined reference to 'cudaGetParameterBuffer'
nvlink error : Undefined reference to 'cudaLaunchDevice'
nvlink error : Undefined reference to 'cudaDeviceSynchronize'
make: *** [CudaMaster] Error 255

我真的不知道为什么。我在 Eclipse 上使用 Nsight 插件,在 RHEL Server 6.3 中使用 CUDA 5 工具包和 Tesla K20 GPGPU。我也在使用动态并行性,我认为这是导致问题的原因。我四处寻找,找到了this ,我觉得这证实了我的理论,但他是从终端做的,所以不完全一样。在使用 Eclipse 时我需要做什么来构建它?是否有我缺少的选项需要设置或其他什么?

谢谢!

最佳答案

要使动态并行工作,您需要链接到 cudadevrt

在 nsight 中你是这样做的:

  • 转到项目菜单 -> 属性 -> 构建 -> 设置 -> 工具设置 -> NVCC 链接器

  • 将“-lcudadevrt”附加到“Command”的字符串(即“nvcc -lcudadevrt”)

关于c++ - 未知的 nvlink 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16945627/

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