ROS包内实现Cuda加速的配置

1.ROS

ROS(机器人操作系统)是一个机器人软件平台,能够进行灵活的编程,为异构平台集群提供良好的通信控制机制。并且拥有极好的软件模拟能力,不需要硬件,也能够进行机器人算法的学习。

2.Cuda

Cuda是Nvidia开发的并行运算平台,使用其强大的并行运算能力,我们能够将逻辑控制交付给CPU,将并行计算交给GPU去运算,这就是所谓的"硬件加速”。笔者在使用ROS进行硬件加速的时候,如何添加Cuda的的编程支持,在这里尽心记录。

3.环境配置

3.1环境说明

我们知道,如果需要使用Cuda C语言进行编码的话,就必须使用NVCC编译器进行编译,但是通常情况下,ROS都是通过GCC进行编译的,所以这里的设想是将硬件加速的函数以动态库的方式进行提供,其他包需要使用这个包里的硬件加速函数,就动态调用这个动态库,这样可以最大程度的减少修改原有的包的CMakelists.txt文件。

3.2过程说明

创建一个新的包。

修改新建的包的CMakelists.txt文件如下:

编写cu文件如下:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180125G03P2R00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券