您的位置:首页 > 编程语言 > C语言/C++

VS2010下,C++工程调用CUDA工程

2014-03-21 10:32 423 查看
在VS2010中,假设一个解决方案下面有两个工程:CUDA工程TestCuda;C++工程CallCuda。

1. 在CUDA工程TestCuda中,

(1).cpp文件(类成员函数定义)调用.cu文件下的函数

例如.cu文件下的函数void run_kernel(); 其前面必须用 extern “C” 修饰。

而.cpp文件(类成员函数定义)下的类成员函数,如,void cpp_run();

如果它想调用 run_kernel(),则首先可在.h文件(类定义)中的类定义的外面先声明.cu文件下的C函数,例如,extern “C” void run_kernel();

(2)CUDA工程属性-->常规中,选择配置类型为“静态库(.lib)”-->应用;

同时在工程属性下的库管理器-->常规项下的附加依赖项中,添加CUDA库:cudart.lib,curand.lib等;在附加库目录添加相应的库所在目录。

2.另外的C++工程CallCuda

在CallCuda工程属性下,找到附加依赖项,添加:CUDA库(cudart.lib等)和TestCuda生成的静态库(TestCuda.lib);以及添加附加库目录。

至此,该工程下的.cpp文件下的函数,就可以调用CUDA工程下的cpp_run()函数了,不过首先要实例化类。

备注:CUDA工程指的是,在新建项目的时候,选择NVIDIA-CUDA5.5 Runtime ...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cuda cpp c++ c