Ubuntu + CUDA + CMake ( + Eigen !?)

目录

起因

C++原有实现有点慢,尝试CUDA加速,突发奇想,能不能在kernel或者device函数里面使用eigen,因为eigen是header file only的。然后发现居然真的可以,不过对于kernel函数而言,视乎有点绕。

实例

在原来CUDA的实例上又搞了一个用eigen的例子。指定图像中的某一个像素为中心,在这个像素附近的窗内对所有像素计算e的指数,再求平方,再窗内像素的结果求和。CUDA实现中没有使用二维的grid和block,这与我那时的需求有关系。

在Ubuntu16.04上利用CMake创建项目。大致思路是所有CUDA实现都编译到一个静态库内,非CUDA的部分对这个库进行连接。所有CUDA实现的代码管理在项目的子文件夹中。文件目录结构为

  • /Root
    • /Includes
      • /CUDARoutines
        • Add.hpp
        • CUDACommon.hpp
        • KernelEigen.hpp
      • Common.hpp
    • /Src

其中KernelEigen.cu就是在kernel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值