SEMD:一种面向实际数值模拟软件的跨平台自动性能优化编程工具  

SEMD:A Cross-platform Automatic Performance Optimization Programming Tool for Real Numerical Simulation Software

在线阅读下载全文

作  者:张鹏[1,2] 张爱清 莫则尧[1,3] 王景焘[1,2] ZHANG Peng;ZHANG Aiqing;MO Zeyao;WANG Jingtao(Software Center for High Performance Numerical Simulation,China Acedemy of Engineering Physiscs,Beijing 100088,China;Institute of Applied Physics and Computational Mathematics,Bejing 100094,China;China Academy of Engineering Physics,Mianyang,Sichuan 621900,China)

机构地区:[1]中国工程物理研究院高性能数值模拟软件中心,北京100088 [2]北京应用物理与计算数学研究所,北京100094 [3]中国工程物理研究院,四川绵阳621900

出  处:《计算物理》2024年第1期52-63,共12页Chinese Journal of Computational Physics

摘  要:针对手工软件性能优化缺乏可复用性和可移植性的问题,设计实现一种面向实际数值模拟软件的跨平台自动性能优化编程工具SEMD(Single element-based computing multiple data)。SEMD采用数值模拟领域基于网格的高层语义对数值计算循环进行抽象,完全屏蔽底层硬件特征和性能优化实现,使得基于其编写的数值计算子程序能够自动实现跨平台性能可移植。典型算例测试结果显示:在X86、ARM、GPU三种不同架构的处理器上,SEMD的整体性能优化效果超过国际上的同类产品。此外,SEMD在结构、流体、电磁等领域实际数值模拟软件的研制中也得到了初步应用,支撑4款软件热点数值计算子程序平均性能提升164%.Aiming at the lack of reusability and portability in the manual optimization of software,we propose and implement SEMD,a cross-platform automatic performance optimization programming tool for numerical simulation software.It abstracts numerical computing loop programming using high-level semantics,which is prevalent in the field of numerical simulation,completely shielding underlying hardware features and performance optimization implementations.Therefore,any numerical subroutines written based on SEMD can attain automatic cross-platform performance portability.Our tests demonstrate that SEMD's performance optimization effects exceed those of comparable products on three different processor architectures,including X86,ARM and GPU.Furthermore,SEMD has been successfully applied in the development of four real numerical simulation software programs in the fields of structure,fluid,and electromagnetic,resulting in an average performance improvement of 164%on hotspot subroutines.

关 键 词:跨平台自动性能优化 性能可移植 数值计算循环 编程接口 

分 类 号:TP312[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象