Projects per year
Abstract
The Zig programming language, which is designed to provide performance and safety as first class concerns, has become popular in recent years. Given that Zig is built upon LLVM, and-so enjoys many of the benefits provided by the ecosystem, including access to a rich set of backends, Zig has significant potential for high performance workloads. However, it is yet to gain acceptance in HPC and one of the reasons for this is that support for the pragma driven shared memory parallelism is missing.
In this paper we describe enhancing the Zig compiler to add support for OpenMP loop directives. Then exploring performance using NASA’s NAS Parallel Benchmark (NPB) suite. We demonstrate that not only does our integration of OpenMP with Zig scale comparatively to Fortran and C reference implementations of NPB, but furthermore Zig provides up to a 1.25 times performance increase compared to Fortran.
In this paper we describe enhancing the Zig compiler to add support for OpenMP loop directives. Then exploring performance using NASA’s NAS Parallel Benchmark (NPB) suite. We demonstrate that not only does our integration of OpenMP with Zig scale comparatively to Fortran and C reference implementations of NPB, but furthermore Zig provides up to a 1.25 times performance increase compared to Fortran.
Original language | English |
---|---|
Title of host publication | Proceedings of the Tenth Annual Workshop on the LLVM Compiler Infrastructure in HPC |
Publisher | Institute of Electrical and Electronics Engineers |
DOIs | |
Publication status | Accepted/In press - 1 Oct 2024 |
Event | The Tenth Annual Workshop on the LLVM Compiler Infrastructure in HPC - Atlanta, United States Duration: 18 Nov 2024 → 18 Nov 2024 https://llvm-hpc-2024-workshop.github.io/ |
Workshop
Workshop | The Tenth Annual Workshop on the LLVM Compiler Infrastructure in HPC |
---|---|
Country/Territory | United States |
City | Atlanta |
Period | 18/11/24 → 18/11/24 |
Internet address |
Fingerprint
Dive into the research topics of 'Pragma driven shared memory parallelism in Zig by supporting OpenMP loop directives'. Together they form a unique fingerprint.Projects
- 1 Active
-
Efficient Cross-Domain DSL Development for Exascale
Grosser, T., Brown, N., Krause, A. & Steuwer, M.
Engineering and Physical Sciences Research Council
2/08/21 → 31/03/25
Project: Research
Research output
- 1 Abstract
-
Implementing OpenMP for Zig to Enable Its Use in HPC Context
Kacs, D., Brown, N. & Lee, J., 12 Aug 2024, p. 116-117.Research output: Contribution to conference › Abstract › peer-review
Open AccessFile