C++与CUDA混合编程

  最近在移植一个结构光三维重建的项目,中间呢,就用到了C++CUDA的混合编程,中间也遇上了一些问题,就稍微总结整理了一下。
  关于如何进行CUDA环境的搭建,网上有很多教程,这里也就不在多说了
  首先我们新建一个Visual Studio的工程,然后运行一下,得到如下的一个效果。



新建一个Visual Studio工程

  然后我们通过点击解决方案中的「头文件」和「源文件」添加新建项,分别添加.cuh.cu,这两个文件就相当于是C++中的.h.cpp文件。





添加.cuh.cu两个文件

  在新建的.cuh文件中添加如下代码

#ifndef CUDA_COMMON_H
#define CUDA_COMMON_H

extern "C" void CUDA_Printf();

#endif

  在新建的.cu文件中添加如下代码

#include "cuda_common.cuh"
#include "cuda_runtime.h"
#include "stdio.h"

void CUDA_Printf()
{
  printf("This is CUDA Printf");
}

  右键单击解决方案,选择「生成自定义」,选择CUDA


这里写图片描述

右键点击.cu文件,将「属性」->「常规」->「项类型」更改为CUDA C/C++
之后编译运行,即可得到正确的结果。



这里面有两个输出语句,其中前一句是分别是C++CUDA的输出。

原创文章 26 获赞 35 访问量 6万+

猜你喜欢

转载自blog.csdn.net/love_ljq/article/details/73013555
今日推荐