Chinese Journal of Computational Physics ›› 2024, Vol. 41 ›› Issue (1): 52-63.DOI: 10.19596/j.cnki.1001-246x.8777

• Performance Optimization Techniques and Parallel Numerical Algorithms for Supercomputing • Previous Articles     Next Articles

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

Peng ZHANG1,2(), Aiqing ZHANG1,2,*(), Zeyao MO1,3, Jingtao WANG1,2   

  1. 1. Software Center for High Performance Numerical Simulation, China Acedemy of Engineering Physiscs, Beijing 100088, China
    2. Institute of Applied Physics and Computational Mathematics, Beijing 100094, China
    3. China Academy of Engineering Physics, Mianyang, Sichuan 621900, China
  • Received:2023-06-09 Online:2024-01-25 Published:2024-02-05
  • Contact: Aiqing ZHANG

Abstract:

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.

Key words: automatic performance optimization, performance portability, numerical computing loops, programming interface

CLC Number: