小编Geo*_*f M的帖子

CUDA/C++ - 链接错误:未定义引用

我是一个新手,正在寻找帮助,使用g ++将一些已编译的CUDA目标代码链接到C++项目.已经有一些以前的问题和解决方案(这里这里),但没有一个对我有用,我似乎无法弄清楚为什么.不幸的是,我为此坚持使用Windows.

我正在努力工作的简单示例如下所示:

// kernel.h
int cuda_vec_add(float *h_a, float *h_b, float *h_c, int n);
Run Code Online (Sandbox Code Playgroud)

CUDA代码添加两个向量.

// kernel.cu
#include <kernel.h>

__global__ void vec_add_kernel(float *a, float *b, float *c, int n) {
    int i = threadIdx.x + blockDim.x * blockIdx.x;
    if (i < n) c[i] = a[i] + b[i];
}

int cuda_vec_add(float *h_a, float *h_b, float *h_c, int n) {
    float *d_a, *d_b, *d_c;

    cudaMalloc(&d_a, n*sizeof(float));
    cudaMalloc(&d_b, n*sizeof(float));
    cudaMalloc(&d_c, n*sizeof(float));

    cudaMemcpy(d_a, h_a, n*sizeof(float), cudaMemcpyHostToDevice);
    cudaMemcpy(d_b, h_b, n*sizeof(float), cudaMemcpyHostToDevice); …
Run Code Online (Sandbox Code Playgroud)

c++ gcc cuda g++ nvcc

5
推荐指数
1
解决办法
4325
查看次数

标签 统计

c++ ×1

cuda ×1

g++ ×1

gcc ×1

nvcc ×1