Projects per year
Abstract
This extended abstract explores supporting OpenMP in the Zig programming language. Whilst, C and Fortran are currently the main languages used to implement HPC applications, Zig provides a similar level of performance complimented with several modern language features, such as enforcing memory safety. However, Zig lacks support for OpenMP which is the de facto threaded programming technology.
Leveraging Zig’s LLVM compiler tooling, we have added partial support for OpenMP to the Zig compiler and demonstrated that the performance attained by using Zig with OpenMP is comparable to, and in come cases exceeds, that of conventional HPC languages. Consequently we demonstrate that Zig is a viable and important programming technology to use for HPC, and this work paves the way for more HPC features to be added to Zig, ultimately providing HPC developers with the option of using a safer, more modern language for creating high performance applications.
Leveraging Zig’s LLVM compiler tooling, we have added partial support for OpenMP to the Zig compiler and demonstrated that the performance attained by using Zig with OpenMP is comparable to, and in come cases exceeds, that of conventional HPC languages. Consequently we demonstrate that Zig is a viable and important programming technology to use for HPC, and this work paves the way for more HPC features to be added to Zig, ultimately providing HPC developers with the option of using a safer, more modern language for creating high performance applications.
Original language | English |
---|---|
Pages | 116-117 |
DOIs | |
Publication status | Published - 12 Aug 2024 |
Event | 53rd International Conference on Parallel Processing - Gotland, Sweden Duration: 12 Aug 2024 → 15 Aug 2024 https://icpp2024.org/ |
Conference
Conference | 53rd International Conference on Parallel Processing |
---|---|
Abbreviated title | ICPP 2024 |
Country/Territory | Sweden |
City | Gotland |
Period | 12/08/24 → 15/08/24 |
Internet address |
Keywords / Materials (for Non-textual outputs)
- Compilers
- HPC
- OpenMP
- Zig
Fingerprint
Dive into the research topics of 'Implementing OpenMP for Zig to Enable Its Use in HPC Context'. Together they form a unique fingerprint.Projects
- 1 Finished
Research output
- 1 Conference contribution
-
Pragma driven shared memory parallelism in Zig by supporting OpenMP loop directives
Kacs, D., Brown, N., Lee, J. & Zarins, J., 1 Oct 2024, (Accepted/In press) Proceedings of the Tenth Annual Workshop on the LLVM Compiler Infrastructure in HPC. Institute of Electrical and Electronics EngineersResearch output: Chapter in Book/Report/Conference proceeding › Conference contribution
Open AccessFile