《基于cuda并行图像处理性能优化》由会员分享,可在线阅读,更多相关《基于cuda并行图像处理性能优化(29页珍藏版)》请在金锄头文库上搜索。
1、基于CUDA的并行图像处理性能优化,Contents,研究背景及工作意义,研究背景,1.大规模图像数据的处理、实时图像处理。 2.基于CUDA的大规模并行计算。,选题来源,1.优化基于CUDA平台的并行图像处理实现; 2.扩展至基于CUDA平台的通用并行计算。,工作意义,选题来源于实际工程项目,研究现状,指令优化,内存访问优化,解循环优化,基于软件架构的优化策略,线程过载优化,特定硬件体系结构下的优化,基于硬件架构的优化策略,性能优化策略,性能优化策略,内存访问优化,性能优化策略,内存访问优化,共享内存访问优化,常量内存访问优化,纹理内存访问优化,适宜于没有块间数据重叠访问的情况,适宜于处理H
2、ost端单线程执行具有复杂参数列表核函数的场景,适宜应用于图像处理算法的实现,性能优化策略,指令及程序流程优化,尽量使用执行周期数较少的指令。 避免使用逻辑分支控制语句。 比较简短的循环应当解开。 尽量合并、提取公共运算。,基本思想,提高指令吞吐量、减少Device核函数内运算操作总次数,性能优化策略,指令及程序流程优化,性能优化策略,指令及程序流程优化,使用模板操作时,需要涉及到图像边界区域处理问题,性能优化策略,指令及程序流程优化,方案1: 直接依据4个顶点和4条边界的不同情况予以分别处理。 优点: 算法基本思想简单、易转化成实际代码。 缺点: 实际算法逻辑复杂、代码量较大、有大量的逻辑分
3、支控制语句。,方案2: 显示扩展图像边界。 优点: 处理逻辑归一化、代码简洁。 缺点: 需要申请释放额外的空间、增加了处理步骤。,方案3: 隐式扩展图像边界。 优点: 处理逻辑归一化、代码简洁,不需要存储中间结果图像。 缺点: 不同的算法需要有不同的返回值模式、增加了大量的逻辑运算。,方案4: 利用纹理内存的越界自动处理功能。 优点: 处理逻辑归一化、代码简洁、不需要存储中间结果图像。 缺点: 处理模式制约于纹理内存提供的寻址模式,欠缺灵活性。,性能优化策略,并行度优化,密集排列,稀疏排列,横向排列,纵向排列,性能优化策略,并行度优化,密集排列时的数据访问,性能优化策略,并行度优化,稀疏排列时
4、的数据访问,性能优化策略,并行度优化,横向排列时的数据访问,性能优化策略,并行度优化,纵向排列时的数据访问,性能优化策略,数据表示优化,0,0,1;1,0,1;0,1,0,普通模板表示,1,-1;-1,0;1,0;0,1,稀疏模板表示,实验结果与性能分析,实验环境,硬件环境: CPU:Core i7 2600 显卡:NVIDIA Tesla C1060(4GB显存)软件环境: 操作系统:Ubuntu 10.04 x64 Server 显卡驱动:版本号480.17 编译环境:CUDA ToolKit 4.0算法: 图像形态学基本算法:腐蚀、膨胀、开运算、闭运算。基本参数: 图像分辨率:1024 768 模板分辨率:3 3,实验结果与性能分析,常量内存访问冲突实验,实验结果与性能分析,常量内存性能优化验证,Back,实验结果与性能分析,共享内存性能优化验证,矩阵乘法运算,Back,实验结果与性能分析,纹理内存性能优化验证,Back,实验结果与性能分析,并行度优化验证,实验结果与性能分析,并行度优化验证,实验结果与性能分析,并行度优化验证,实验结果与性能分析,并行度优化验证,实验结果与性能分析,与其他平台性能对比,未来工作展望,新的内存访问优化策略 并行度优化的动态模型研究。 通用并行计算领域的扩展应用。,Thank You !,