Frontiers of Data and Computing ›› 2024, Vol. 6 ›› Issue (1): 12-20.

CSTR: 32002.14.jfdc.CN10-1649/TP.2024.01.002

doi: 10.11871/jfdc.issn.2096-742X.2024.01.002

• Special Issue: Supercomputing Internet and Applications • Previous Articles     Next Articles

Development of Performance Portable Solver Based on Kokkos Template Metaprogramming

ZHENG Liang1,*(),LI Kunyun1,ZHOU Xingbin1,LI Yonghui1,YU Yaojie1,XIANG Yukai1,HU Jian1,CHAI Hua1,GUO Li1,2   

  1. 1. National Supercomputing Center in Chengdu, Chengdu, Sichuan 610213, China
    2. Chengdu Data Group, Chengdu, Sichuan 610041, China
  • Received:2023-09-29 Online:2024-02-20 Published:2024-02-21

Abstract:

[Objective] This paper provides a solution to programming of linear algebra problem solvers oriented to multiple heterogeneous computing architectures. [Context] The hardware architecture of supercomputers is becoming increasingly diverse. Due to incomplete software ecosystem, programming on new hardware is difficult, for example, the development cycle is too long for new hardware, repeated adaptation and development are needed for different hardware. [Methods] Using the Kokkos library to port linear algebra operators can help development of a metaprogramming framework using performance portable templates for domestic exa-scale computing environment. [Results] The Krylov sub-space algorithm are implemented as a demonstration for programming linear algebra problem solvers on a domestic heterogeneous device, resulting in at least 10x speedup compared to a 10-core hyperthreading Xeon CPU. [Conclusions] Performance portable programming is a solution for programming diverse heterogeneous computing systems.

Key words: performance portability, Kokkos, template metaprogramming, linear algebra problem solver