基于SIMD-DSP的LU分解算法的优化与实现

来源 :西安科技大学 | 被引量 : 0次 | 上传用户:wzhjxl3
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
LU分解运算是密集型运算的经典算法,由于具有着广泛的应用范围和重要的应用价值,一直以来都处于核心地位。但是,当LU分解算法在SIMD_DSP硬件平台上实现时仍会面临没有充分使用硬件运算单元与数据传输总线,内存访问冲突等问题,这些问题使得算法在硬件平台上的性能无法达到理想水平。由此可见,利用软件优化方法在硬件平台上实现LU分解依然值得研究。本课题基于国产SIMD架构的数字信号处理芯片BWDSP1042,设计具有高精度、高实时性的LU分解算法库。本文首先介绍了 BWDSP1042处理器的内核结构、流水线、内存空间分配与指令系统,深入理解硬件特点是优化与实现LU分解并行算法的前提。其次,阐述了C语言版LU分解函数的设计过程,构建了算法的主体框架与运行环境。最后研究了基于BWDWP1042的汇编版LU分解算法,消除了矩阵乘法运算过程中的非连续访存,充分利用硬件运算资源与数据传输总线,通过软件优化的方式,加快了循环中任务间的通信,减少了因通信带来的访存延时和访存冲突,进一步提升了LU分解算法的性能。本文给出了 LU分解算法研究的详细过程,并与主流高性能DSP芯片TMS320C6678内部函数库的运行周期和运行时间进行对比。在测试用例相对全面的情况下,对C语言版本和汇编版本函数进行测试,确保函数的正确性和可靠性。仿真与实验结果表明,在BWDSP1042平台实现的LU分解函数充分利用了 SIMD架构的特点挖掘算法的并行性,汇编版函数与串行版C函数相比,当矩阵点数为32*32时效率提升了 26.75倍,点数为64*64时效率提升了 34.61倍,点数为128*128时效率提升了 42.95倍。与TMS320C6678相比,当矩阵点数为128*128时,运行时间比接近内核频率比。C版函数与汇编版函数所有测试结果的误差均小于等于10-7数量级,远优于库函数设计指标要求的10-4数量级。该函数满足雷达实时信号处理领域对函数库高稳定、高精度以及高性能的工程需求。
其他文献
我国的经济建设发展迅速,而且国家的社会主义经济体制也在不断地完善,这些都离不开国家对建筑工程的大力建设.当前,钢筋混凝土建筑工程是各种建筑结构中最主要的形式,建筑单
MOOC是当前在线教育领域的研究热点,直接应用于大学正规教育中存在辍学率高、在线考试难以避免作弊等问题。一些学者将MOOC改造为SPOC实现翻转课堂和混合学习以促进学校教学
在新一轮的课程改革中.新课标的颁布实施是对传统教学的冲击。从教学目标、教学方式、教学手段、教学形式等多方面发生了根本的转变。教师作为新课标的执行者.如何在教学实践中
本论文研究了五味子蜂花粉提取物(Schisandra chinensis Bee Pollen Extract,SCBPE)对异丙肾上腺素(Isoproterenol,ISO)诱导大鼠急性心肌梗死模型的保护作用和潜在的作用机制
目的:新生儿脑梗死(neonatal cerebral infarction,NCI)是新生儿常见的神经系统急症之一,由于新生儿期临床表现不典型,临床诊断必须依靠影像学检查,目前头部磁共振成像(MRI)
微流动问题是指特征尺寸在微米或纳米级别的流体问题的总称。该问题的特征尺寸及基于相应的尺寸效应使得边界滑移现象成为影响其性能的重要因素。基于浓度差的化学势驱动的流
<正>利用多媒体技术、创设管理情境、激发学生学习兴趣。现代多媒体技术集文字、图形、声音、动画和视频等多种技术于一体,能够将抽象的物理概念转化为形象生动的物理画面,降