C++ CUDA使用三个.cu文件运行解决方案

C++ CUDA使用三个.cu文件运行解决方案,c++,parallel-processing,cuda,gpu,C++,Parallel Processing,Cuda,Gpu,我有CUDA 8和Visual Studio 2015 我想运行“cuda的例子”一书中的三个cuda文件(例子是直方图) 我有三个.cu文件: hist_cpu.cu hist_gpu_gmem_atomics.cu hist_gpu_shmem_atomics.cu 我想同时运行这些。这三个文件都包括book.h 如何编译这些文件并在一个输出中显示三个文件的结果?有可能吗?< P>我假设你用C++来使用CUDA。假设您有3个.cu文件。每个文件都包含一个内核和一个调用内核的函数 __glo

我有CUDA 8和Visual Studio 2015

我想运行“cuda的例子”一书中的三个cuda文件(例子是直方图)

我有三个.cu文件:

hist_cpu.cu
hist_gpu_gmem_atomics.cu
hist_gpu_shmem_atomics.cu
我想同时运行这些。这三个文件都包括
book.h


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

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

__global__
void testKernel1() {}

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

实现这一点的一种方法是编写一个包装器脚本,该脚本将编译和运行每个文件,连接它们的输出,然后打印它。您有这样的示例吗,或者您可以帮助我编写它吗?我可以在linux上运行的bash中编写它,但由于您使用的是Windows系统,除非您使用的是Cygwin,否则bash脚本不会有任何帮助。为此,您还可以在Windows上使用其他脚本语言,如Python、Perl或PHP;如果你在谷歌上搜索这个,你应该找到很多关于如何做到这一点的资料。CUDA与C无关。cu领域有主要的function@K.Kempski将那些
main
函数重命名为其他函数,如果这些函数采用参数,则将参数从
main
函数传递到
.cpp
文件中的那些函数。现在它将输出“无法打开gcc.obj文件”@K.Kempski将您的4个文件上载到pastebin并在此处上载链接。加入此聊天室:
OpenCV Related
,让我们谈谈。您必须做一些工作才能让它正常工作。
#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
}