PCL+CUDA编程(一)

本文介绍了如何使用CUDA并行计算处理PCL点云数据,通过一个简单的C++示例解释CUDA程序运行机制,并展示了如何将点云数据传输到GPU进行操作。文章详细讲解了CUDA核函数、数据传输以及CMake配置,对于初学者理解PCL和CUDA的结合应用具有指导意义。
摘要由CSDN通过智能技术生成

点云的操作对运算资源的消耗是十分高的。但利用GPU并行运算的优点可以解决这个问题。下面我将跟大家分享关于利用CUDA处理PCL点云数据的一些经验。

首先举一个简单的例子说明CUDA程序是如何运作的。

我们先写一个简单的C++程序helloworld.cpp

 1 /*
 2  * helloworld.cpp
 3  *
 4  *  Created on: Nov 25, 2016
 5  *      Author: lzp
 6  */
 7 
 8 #include <iostream>
 9 
10 #include <addition.h>
11 
12 
13 int main(int argc, char** argv)
14 {
15     int a=1,b=2,c;
16 
17     if(addition(a,b,&c))
18         std::cout<<"c="<<c<<std::endl;
19     else
20         std::cout<<"Addition failed!"<<std::endl;
21 
22     return 0;
23 }

我们将利用addition()函数将a和b相加,然后由c储存它们的和。
addition()函数在头文件声明:

 1 /*
 2  * addition.h
 3  *
 4  *  Created on: Nov 25, 2016
 5  *      Author: lzp
 6  */
 7 
 8 #ifndef INCLUDES_ADDITION_H_
 9 #define INCLUDES_ADDITION_H_
10 
11 /*check if the compiler is of C++*/
12 #ifdef __cplusplus
13 extern "C" bool addition(int a, int b, int *c);
14 
15 #endif
16 
17 
18 
19 #endif /* INCLUDES_ADDITION_H_ */

 修饰符extern &#

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值