CUDA运行带有三个.cu文件的解决方案

时间:2017-09-08 20:48:29

标签: c++ parallel-processing cuda gpu-programming

我有CUDA 8和Visual Studio 2015。

我想从“CUDA by example”一书中运行三个cuda文件(例如直方图)。

我有三个.cu文件:

hist_cpu.cu
hist_gpu_gmem_atomics.cu
hist_gpu_shmem_atomics.cu

我想同时运行这些。这三个文件都包含book.h

如何编译这些并在一个输出中显示三个文件的结果?有可能吗?

1 个答案:

答案 0 :(得分:1)

我假设您正在使用CUDA和C ++。假设您有3个.cu个文件。每个文件都包含一个内核和一个调用内核的函数。

__global__
void testKernel1() {}

void func1()
{
    testKernel1<<<1,1,1>>>();
    printf("Called Kernel 1\n");
}

然后你有一个.cpp文件,其中包含你的main功能。在此文件中,使用.cu关键字包含extern文件中的3个函数。

#include <iostream>

extern void func1();
extern void func2();
extern void func3();

int main(int argc, char** argv)
{
    func1(); //calling func1 from 1st .cu file
    func2(); //calling func2 from 2nd .cu file
    func3(); //calling func3 from 3rd .cu file
}