改进SLP算法的新型编译框架提升性能研究

需积分: 0 1 下载量 37 浏览量 更新于2024-09-07 收藏 1.21MB PDF 举报
"一种基于SLP的新型编译框架,针对SLP算法在处理大型应用程序时效率不高的问题,提出了一个改进的编译框架。该框架包括三个阶段:1) 通过改进的SLP算法将异构语句转化为同构语句;2) 从全局角度获取数据模型重用;3) 结合数据布局优化进一步提升性能。实验结果显示,此框架相比SLP算法性能提升约15.3%。" 这篇论文主要探讨的是如何提高超级字级并行(Superword Level Parallel, SLP)算法在处理大型应用程序时的效率。SLP是一种编译优化技术,旨在利用SIMD(Single Instruction Multiple Data)指令集来同时处理多个数据,从而提升并行计算的性能。然而,对于并行代码占有率小的大型程序,SLP算法往往表现不佳。 为了改善这一情况,研究者提出了一种新的编译框架。这个框架的核心思想是通过改进SLP算法,将原本结构不同的异构语句转换为结构相似的同构语句,以增加并行度。这一阶段的优化有助于减少指令的多样性,使得SIMD指令能更有效地应用。 其次,框架引入了全局视角的数据模型重用分析。在优化目标代码之前,该框架会识别和利用数据模型的重复性,这可以减少计算中的冗余操作,进一步提高效率。 最后,研究者结合数据布局优化来提升性能。数据布局优化涉及到内存访问模式的调整,以减少内存访问的冲突和提高缓存利用率,这对于大型应用程序的性能至关重要。 通过一系列的实验,研究者验证了新框架的有效性。实验结果表明,这个基于SLP的新型编译框架相比于传统的SLP算法,能够实现大约15.3%的性能提升。这是一项重要的进步,对于优化编译器的性能,特别是在处理复杂和大型的应用程序时,具有实际意义。 这篇论文的作者来自解放军信息工程大学数学工程与先进计算国家重点实验室,他们的研究方向涵盖了高性能计算和先进编译技术。这项工作得到了“核高基”国家科技重大专项的资助,表明了其在提升我国计算能力方面的重要地位。 这篇论文提供了一个创新的解决方案,以克服SLP算法在处理大型程序时的局限性,为编译器设计和优化提供了新的思路。这种基于SLP的编译框架有望被应用于未来的编译器开发,以提升各种应用程序的运行效率。