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 ...
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 ...
相关文章推荐
- GPU(CUDA)学习日记(二)--------VS2010不同工程之间调用DLL或者LIB
- GPU(CUDA)学习日记(二)续------ VS2010 不同工程之间调用DLL
- GPU(CUDA)学习日记(二)续------ VS2010 不同工程之间调用DLL
- GPU(CUDA)学习日记(二)续二------ VS2010 不同工程之间调用DLL
- GPU(CUDA)学习日记(二)--------VS2010不同工程之间调用DLL或者LIB
- GPU(CUDA)学习日记(二)续二------ VS2010 不同工程之间调用DLL
- c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目
- C++ 使用VS2010创建MFC ActiveX工程项目
- VS2010 CUDA8.0 工程配置
- C++ 打包并调用动态链接库 (VS2010)
- cocos2dx Lua工程调用C++ 详细操作步骤
- 创建一个调用lua方法的C++工程
- VS2010 C++工程运行提示找不到MSVCP100D.dll
- [置顶] Linux下基于eclipse的C++工程调用caffe的c++接口
- vs2012的c++工程转vs2010
- vs2010下C++调用lib或dll文件
- c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目
- c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目
- c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目
- windwos 7和vs2010 c++ 下编译工程,出现错误fatal error C1189