HighP5: Programming using Partitioned Parallel Processing Spaces (Submission Accepted)

Published in Journal of the Brazilian Computer Society, 2024

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 per- formance. 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 fea- ture 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 plat- forms: shared-memory multiprocessors, distributed memory multi-computers, and hybrid GPU/multi-computers.

Recommended citation: Yanhaona, M. N., Grimshaw, A., & Mickey, S. H. (2024). "HighP5: Programming using Partitioned Parallel Processing Spaces." Journal of the Brazilian Computer Society. 30(1), 653–687. https://doi.org/10.5753/jbcs.2024.4345.
Download Paper