HighP5: Programming using Partitioned Parallel Processing Spaces
HighP5 is a new high-level parallel programming language designed to help software developers to achieve three objectives simultaneously: programmer productivity, program portability, and superior program performance. HighP5 enables this by fostering a new programming paradigm that we call hardware-cognizant parallel programming. The paradigm uses a uniform hardware abstraction and a declarative programming syntax to allow programmers to write hardware feature-sensitive efficient programs without delving into the detail of those feature implementations. This paper is the first comprehensive description of HighP5's design rationale, language grammar, and core features. It also discusses the runtime behavior of HighP5 programs. In addition, the paper presents preliminary results on program performance from HighP5 compilers on three different architectural platforms: shared-memory multiprocessors, distributed memory multi-computers, and hybrid GPU/multi-computers.
Authors
- Muhammad Nur Yanhaona (ORCID: https://orcid.org/0000-0003-2450-3377)
- Shahriar Hasan Mickey
- Andrew Grimshaw
Institutions
- University of Virginia (US)
- BRAC University (BD)
Publication Details
- Journal
- Journal of the Brazilian Computer Society
- Published
- 2024-12-17
- DOI
- https://doi.org/10.5753/jbcs.2024.4345
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Science Foundation
- University of North Texas