咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于异构计算的矩阵广义逆算法研究及实现 收藏
基于异构计算的矩阵广义逆算法研究及实现

基于异构计算的矩阵广义逆算法研究及实现

作     者:范兴山 

作者单位:电子科技大学 

学位级别:硕士

导师姓名:李广军

授予年度:2014年

学科分类:07[理学] 080902[工学-电路与系统] 0809[工学-电子科学与技术(可授工学、理学学位)] 08[工学] 070104[理学-应用数学] 0701[理学-数学] 

主      题:矩阵广义逆 异构计算 OpenCL GPU FPGA 

摘      要:广义逆矩阵理论不仅是许多数学分支的基本工具,更是在经济学、信息处理、自动控制、通信学、密码学和统计学等应用学科中都有着广泛的应用。因此,提升广义逆矩阵的计算性能有着非常大的实用价值,然而传统的CPU串行计算对此却无能为力。近年来,以OpenCL计算架构为代表的异构计算发展迅速,已广泛应用于多个领域,在图像视频处理、密码学等领域常用来进行运算加速,广义逆矩阵也可以通过OpenCL这种异构计算方式提升其计算性能。本文以异构计算为背景,以OpenCL为编程架构,实现广义逆矩阵的运算加速。本文首先对OpenCL规范作了简短介绍;基于GPU和FPGA的硬件架构,分别分析它们的OpenCL实现机制;由于GPU和FPGA在硬件架构与实现机制上是完全不一样的,它们的性能优化技术也迥然不同,因而分别对它们的优化技术进行分析。本文以运算所需的加法和乘法次数为指标,对三种常用的广义逆矩阵算法的计算复杂度进行分析,解方程法的计算量要略高于其他两种算法。然而通过基于异构计算的实现复杂度分析,在最小任务数、控制流、运算资源等关键指标上,解方程法要明显好于另外两种算法。综合计算复杂度和实现复杂度的分析结果,解方程法能获得更好的异构计算性能。因此本文以解方程法为基础设计一套基于异构计算的实现方案,在最优的并行度基础上,对方案中的多个模块进行并行化处理,并设计相应的同步点以保证数据的一致性。依据OpenCL的运行机制,分别对存储访问部分和数据处理部分进行深入优化,以提高算法的运算性能,并用MATLAB对该方案进行验证。本文分别在GPU和FPGA上实现该方案,并针对它们各自的架构特点,制定不同的优化策略和测试方案。测试结果表明:在计算误差方面,GPU由于其内部的浮点运算单位精度较高,其最大误差低至10-7级;而FPGA由于其内部的乘法器位宽仅为18位,其误差相对较大,最大误差在10-3级。与MATLAB标准函数运行时间相比,GPU平台凭借其成熟的开发理论和巨量的计算资源,加速比达到了1909;FPGA平台由于其开发理论不成熟,只获得34的加速比,但还有着巨大的提升空间。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分