将Cuda集成到C ++文件中

达德森

我已经阅读了所有相关主题,包括将.cu文件包含.cpp在其他人之前编写文件中,但是没有任何帮助。

我在项目的C ++文件中包含文件时遇到问题。我的项目结构如下:main.cpp compute.h compute.cpp kernel.cu

main.cpp具有比我的项目的main()入口更多的内容。包含几个_host_cuda函数,compute.h因为它调用了compute.h中定义的某些函数。

compute.cpp仅具有C++功能,使用sum<<<1,numbloc>>>(list of parameters)功能表示kernel.cu设备代码。然后,我将其包含kernel.cucompute.cpp标题中。但是我在使用cuda 5.0在我的visual studio 2008上编译时遇到了问题,并且错误显示

error C3861:'_syncthreads':identifier not found

但是,当我编写一个包含一个main.cu包含main(){}我的_host_函数的projetc时,它的构建没有错误。

我可以保持如上所述的项目结构,并在没有错误的情况下运行我的项目吗?请帮忙!

罗伯特·克罗维拉

默认情况下,.cpp文件不能包含非常规C / C ++语法的任何内容。kernel<<<...>>>()除非将特殊开关传递给nvcc,否则cuda内核调用不能位于.cpp文件中。

因此,通常的建议是重命名以这种方式使用CUDA的任何文件,以具有.cu扩展名而不是.cpp扩展名,并使用nvcc编译该文件。

对于任何特定于CUDA的语法也是如此。(请注意,这并不意味着调用CUDA API,例如cudaMalloc,如果您包含cuda_runtime.h并正确链接,则可以在普通的.cpp文件中进行调用。)因此,如果您__host__的主体中实际上有函数装饰器。 cpp,这也将不起作用(使用默认编译器设置)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CMake-将选项集成到C ++源文件中

来自分类Dev

将C ++集成到Ruby on Rails应用程序中

来自分类Dev

将FormSpree集成到GitHub Jekyll markdown文件中

来自分类Dev

如何将.jrxml文件集成到Eclipse中的项目

来自分类Dev

如何将现有的.m文件集成到simulink .mdl文件中

来自分类Dev

是否可以将zip和tar.gz文件作为目录集成到文件系统中

来自分类Dev

将XAML页面集成到Storyboard中

来自分类Dev

将PayPal功能集成到Java中

来自分类Dev

将GeckoView集成到Android中

来自分类Dev

将WinForms项目集成到WPF中

来自分类Dev

将DexGuard集成到Android Studio中

来自分类Dev

将phpseclib集成到Laravel 5中

来自分类Dev

将Bootstrap集成到Grails中

来自分类Dev

将Sagepay集成到Zend中

来自分类Dev

将BBCode集成到Laravel 4中

来自分类Dev

将OpenSeaMap集成到GWT OpenLayers中

来自分类Dev

将html集成到Django模板中

来自分类Dev

将lightadmin集成到Wildfly中

来自分类Dev

将SpamAssassin集成到Postfix中

来自分类Dev

将GPS集成到JavafxPorts中

来自分类Dev

将Lucene集成到play框架中

来自分类Dev

将 Chili 发布集成到 Symfony 中

来自分类Dev

将 virtualenvwrapper 集成到 Pycharm 中

来自分类Dev

如何将C#库集成到Visual Basic中?

来自分类Dev

如何将C ++应用程序集成到PHP网站中?

来自分类Dev

使用distutils将C代码集成到Python库中的最常规方法是什么?

来自分类Dev

将SQL Reporting Service集成到C#WebAPI应用程序中

来自分类Dev

是否可以将Ink工具栏(UWP)集成到窗体C#中

来自分类Dev

需要帮助将深度链接路由集成到 Xcode 项目 Obj-C 中的内容