Xevolver: A code transformation framework for separation of system‐awareness from application codes. (4th December 2019)
- Record Type:
- Journal Article
- Title:
- Xevolver: A code transformation framework for separation of system‐awareness from application codes. (4th December 2019)
- Main Title:
- Xevolver: A code transformation framework for separation of system‐awareness from application codes
- Authors:
- Komatsu, Kazuhiko
Gomi, Ayumu
Egawa, Ryusuke
Takahashi, Daisuke
Suda, Reiji
Takizawa, Hiroyuki - Abstract:
- Summary: This paper introduces the Xevolver code transformation framework to separate system‐aware code optimizations from HPC application codes. System‐aware code optimizations often make it difficult for programmers to maintain HPC application codes. On the other side, system‐aware code optimizations are mandatory to exploit the performance of target HPC systems. To achieve both high maintainability and high performance, the Xevolver framework provides an easy way to express system‐aware code optimizations as user‐defined code transformation rules. Those rules can be defined separately from HPC application codes. As a result, an HPC application code is converted into its optimized version for a particular target system just before the compilation, and standard HPC programmers do not usually need to maintain the optimized version that could be complicated and difficult‐to‐maintain. In this paper, three important components of the Xevolver framework are described, and then their practicality and benefits are demonstrated through six case studies. Accordingly, the user‐defined code transformation approach behind the Xevolver framework is promising to express system‐awareness for extracting the performance of an HPC system, and also for sharing expert knowledge and experiences about code optimizations. As the complexity and diversity of HPC system architectures are increasing in an extreme‐scale computing era, system‐aware code optimization without overcomplicating the code asSummary: This paper introduces the Xevolver code transformation framework to separate system‐aware code optimizations from HPC application codes. System‐aware code optimizations often make it difficult for programmers to maintain HPC application codes. On the other side, system‐aware code optimizations are mandatory to exploit the performance of target HPC systems. To achieve both high maintainability and high performance, the Xevolver framework provides an easy way to express system‐aware code optimizations as user‐defined code transformation rules. Those rules can be defined separately from HPC application codes. As a result, an HPC application code is converted into its optimized version for a particular target system just before the compilation, and standard HPC programmers do not usually need to maintain the optimized version that could be complicated and difficult‐to‐maintain. In this paper, three important components of the Xevolver framework are described, and then their practicality and benefits are demonstrated through six case studies. Accordingly, the user‐defined code transformation approach behind the Xevolver framework is promising to express system‐awareness for extracting the performance of an HPC system, and also for sharing expert knowledge and experiences about code optimizations. As the complexity and diversity of HPC system architectures are increasing in an extreme‐scale computing era, system‐aware code optimization without overcomplicating the code as discussed in this paper will become more and more important in the future. … (more)
- Is Part Of:
- Concurrency and computation. Volume 32:Number 7(2020)
- Journal:
- Concurrency and computation
- Issue:
- Volume 32:Number 7(2020)
- Issue Display:
- Volume 32, Issue 7 (2020)
- Year:
- 2020
- Volume:
- 32
- Issue:
- 7
- Issue Sort Value:
- 2020-0032-0007-0000
- Page Start:
- n/a
- Page End:
- n/a
- Publication Date:
- 2019-12-04
- Subjects:
- high‐performance computing -- performance optimization -- separation of concern -- system‐awareness -- user‐defined code transformation
Parallel processing (Electronic computers) -- Periodicals
Parallel computers -- Periodicals
004.35 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/cpe.5577 ↗
- Languages:
- English
- ISSNs:
- 1532-0626
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3405.622000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 12983.xml