CUDA编程优化及学习心得(持续更新)

针对在实时选帧算法并行开发中,总结如下:

1.实现共享内存优化,规约法求和(再优化,单遍规约、注意二次调用规约时要考虑块内线程数是否为2的指数)。

2.代码中,再global内部写global实现多级并行策略。
3.
4.由于并行不方便调试,在调试时,可以在核函数中限制输出一个线程执行下的变量值,进行验证。
5.
6.核函数调用核函数,多级并行(已试验很慢,100帧的数据量效果特别差。另外,100帧图像的for循环要尽量放在核函数内部(因为调用100次核函数很费时))。
7.多gpu(可以结合MPI策略)。
8.NPP、Thrust(可以用,结果一定要用主机内存存储,不能用设备内存。目前试验比较慢)、cublas库进行优化。
9.
10.排序算法可以并行优化。
11.每个块的最优线程数配置及最优分线程块数量(看收藏的CSDN、CUDA实战书上有种方法可以试)。
13.零拷贝内存(看方博客)、页锁定内存(可以用,速度有点提高)、流。
14.运行速度和图像的分辨率大小有关吗?并行情况下涉及到求和运算就有关了,图像小-分块少-求和快。
15.
16.所有求概率的算法,把概率放到CPU来求应该会快一些。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值