我有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
。
如何编译这些并在一个输出中显示三个文件的结果?有可能吗?
答案 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
}