PyOMP: Parallel programming for CPUs and GPUs with OpenMP and Python
Lawrence Livermore National Laboratory, Livermore, California, USA
SC24 Workshop: High Performance Python for Science at Scale (HPPSS), 2024
@article{georgakoudispyomp,
title={PyOMP: Parallel programming for CPUs and GPUs with OpenMP and Python},
author={Georgakoudis, Giorgis and Anderson, Todd A and Archibald, Stuart and de Supinski, Bronis and Mattson, Timothy G},
year={2024}
}
Python is the most popular programming language. OpenMP is the most popular parallel programming API. Projecting OpenMP into Python will help expand the HPC community. We call our Python-based OpenMP system PyOMP. In this short paper we describe PyOMP and its use for parallel programming for CPUs and GPUs. We describe its implementation through the well known Numba just-in-time (JIT) compiler and how to install PyOMP on your own systems. We provide some performance results suggesting performance on par with that from C and OpenMP, but our focus here is not detailed benchmarking. We leave that to other papers. Our goal here is to show how to use PyOMP so we can grow the PyOMP community.
December 1, 2024 by hgpu