图解用于图像处理的BLOCK划分经验(CUDA)
来源:互联网 发布:mac os 杀毒软件 编辑:程序博客网 时间:2024/04/29 16:12
本人学习研究使用CUDA做并行图像处理,积累了一些关于Block划分的经验,不敢独享,如有错误望高人指正。
当处理8位灰度图像时,最普通16*16 T/B,此法读取粒度小于最小数据访问大小,至少损失63/64带宽!
考虑访问模式,thread处理4字节,block宽64字节,高16/32/64,第三种情况仅用于SM13,SM13允许1024Thread/Block
线性,无需处理临域的时候比较方便,一维245/512/1024 T/B,thread还是处理4字节
3*3滤波器常常将Block处理区域重叠起来,此为示意图,实际使用还要考虑访问模式
长效Thread,一维245/512/1024 T/B,一个Thread负责4*height图像面积,当每列内需要迭代计算的时候使用。核函数的内部会有一个次数为height的循环,循环体内一次取4字节数据,为了优化访问模式,长效Thread不会影响性能可以放心使用。
最后,每组16Thread同时访问连续且对其的64/128字节称为Coalesced访问模式,这是达到带宽的理路峰值的必要条件,下图是来源于《NVIDIA CUDA C Programming Best Practices Guid》,正确划分Block,除了使用CUDA_Occupancy_calculator计算T/B以外,处理图像时的逻辑划分相当重要。
- 图解用于图像处理的BLOCK划分经验(CUDA)
- CUDA用于图像处理中的形态学开闭运算
- CUDA中block和thread的合理划分配置
- 用于图像处理的自适应中值滤波(张旭明等)
- NVIDIA CUDA简单的CUDA程序:图像二值化处理
- 用于图像处理的卷积神经网络
- CUDA 技巧与经验 关于block、thread
- 图像,log处理的一点经验
- 有关图像处理的一点点经验。
- 图像处理(三)彩图的中值滤波与cuda形式
- 开始着手进行CUDA实现图像处理算法的计划
- 【分享用于学习C++图像处理的代码示例】框架
- 【DL--08】深度学习 用于处理图像的CNN
- Android实战经验之图像处理及特效处理的集锦(总结版)
- Android实战经验之图像处理及特效处理的集锦(总结版)
- Android实战经验之图像处理及特效处理的集锦(总结版)
- ANDROID实战经验之图像处理及特效处理的集锦(总结版)
- ANDROID实战经验之图像处理及特效处理的集锦(总结版)
- lucene入门-索引目录下的所有网页以及索引检索
- 如何在ASP.NET 2.0中定制Expression Builders
- LINUX期末复习---基本命令与操作
- 数据源控件参数类Parameter
- 新闻观察:再婚交警中队长包养情人生子仅被降职引争议
- 图解用于图像处理的BLOCK划分经验(CUDA)
- .NET 2.0 中使用Active Directory 应用程序模式 (ADAM)
- lucene入门-索引网页
- Lab 1: Booting a PC
- Ext 动态更新store
- MYSQL 基本命令
- HIbernate Criteria Query
- lucene入门-复杂索引建立
- Struts2源代码分析(一)配置文件加载