Implementing OpenMP for Zig to Enable Its Use in HPC Context

David Kacs*, Nick Brown, Joseph Lee

*Corresponding author for this work

Research output: Contribution to conferenceAbstractpeer-review

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.
Original languageEnglish
Pages116-117
DOIs
Publication statusPublished - 12 Aug 2024
Event53rd International Conference on Parallel Processing - Gotland, Sweden
Duration: 12 Aug 202415 Aug 2024
https://icpp2024.org/

Conference

Conference53rd International Conference on Parallel Processing
Abbreviated titleICPP 2024
Country/TerritorySweden
CityGotland
Period12/08/2415/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.

Cite this