Projects per year
Abstract / Description of output
The expanding hardware diversity in high performance computing adds enormous complexity to scientific software development. Developers who aim to write maintainable software have two options: 1) To use a so-called data locality abstraction that handles portability internally, thereby, performance-productivity becomes a trade off. Such abstractions usually come in the form of libraries, domain-specific languages, and run-time systems. 2) To use generic programming where performance, productivity and portability are subject to software design. In the direction of the second, this work describes a design approach that allows the integration of low-level and verbose programming tools into high-level generic algorithms based on template meta-programming in
C++. This enables the development of performance-portable applications
targeting host-device computer architectures, such as CPUs and GPUs.
With a suitable design in place, the extensibility of generic algorithms to
new hardware becomes a well defined procedure that can be developed
in isolation from other parts of the code. That allows scientific software
to be maintainable and efficient in a period of diversifying hardware in
HPC. As proof of concept, a finite-difference modelling algorithm for
the acoustic wave equation is developed and benchmarked using roofline
model analysis on Intel Xeon Gold 6248 CPU, Nvidia Tesla V100 GPU,
and AMD MI100 GPU.
C++. This enables the development of performance-portable applications
targeting host-device computer architectures, such as CPUs and GPUs.
With a suitable design in place, the extensibility of generic algorithms to
new hardware becomes a well defined procedure that can be developed
in isolation from other parts of the code. That allows scientific software
to be maintainable and efficient in a period of diversifying hardware in
HPC. As proof of concept, a finite-difference modelling algorithm for
the acoustic wave equation is developed and benchmarked using roofline
model analysis on Intel Xeon Gold 6248 CPU, Nvidia Tesla V100 GPU,
and AMD MI100 GPU.
Original language | English |
---|---|
Publication status | Published - 16 Apr 2024 |
Event | HeteroPar 2023: Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms - Limassol, Cyprus Duration: 28 Aug 2023 → … |
Conference
Conference | HeteroPar 2023 |
---|---|
Country/Territory | Cyprus |
Period | 28/08/23 → … |
Fingerprint
Dive into the research topics of 'An approach to performance portability through generic programming'. Together they form a unique fingerprint.Projects
- 1 Finished
-
Strategic Partnership in Computational Science for Advanced Simulation and Modelling of Engineering Systems - ASiMoV
1/10/18 → 31/03/24
Project: Research
-
Morpheus: a library for efficient runtime switching of sparse matrix storage formats
Stylianou, C. & Weiland, M., 29 May 2024, In: SoftwareX. 27, 101775.Research output: Contribution to journal › Article › peer-review
Open AccessFile -
Morpheus unleashed: Fast cross-platform SpMV on emerging architectures
Stylianou, C., Klaisoongnoen, M., Jesus, R., Brown, N. & Weiland, M., 11 May 2023, CUG Conference Proceedings. 15 p.Research output: Chapter in Book/Report/Conference proceeding › Conference contribution
File -
Exploiting dynamic sparse matrices for performance portable linear algebra operations
Stylianou, C. & Weiland, M., 2022, p. 47-57. 11 p.Research output: Contribution to conference › Paper › peer-review
Open Access