In this paper is presented OMP4Py, the first pure Python implementation of OpenMP, allowing developers to write parallel code with the same level of control and flexibility as in C, C++, or Fortran. #HPC
arxiv.org/pdf/2411.14887
Posts by Technical Computing
AOCL is a set of numerical libraries optimized for AMD processors based on the AMD “Zen” core architecture and generations. #HPC
Version 5.0 was released recently and along with the usual suite of speed-ups, includes a new data analytics and Machine Learning component
www.amd.com/en/developer...
Fortran has fpm (Fortran Package Manager): github.com/fortran-lang..., which is growing in popularity, so the packaging situation is improving. fpm is modeled by Cargo from Rust.
Intels OneAPI "provides a comprehensive set of libraries, open source repositories, SYCL-based C++ language extensions, and optimized reference implementations to accelerate..." www.intel.com/content/www/...
Chapel is a programming language designed for productive parallel computing at scale. chapel-lang.org
Python's Numba package provides Just In Time compilation for a subset of the language. It also offers various parallelisation options for both CPU and GPU
numba.pydata.org/numba-doc/de...
#julialang supports 4 types of parallelism
1. Asynchronous "tasks", or coroutines
2. Multi-threading:
3. Distributed Computing
4. GPU Computing
docs.julialang.org/en/v1/manual...
In C, C++ and Fortran, OpenMP is the framework that many people start with for multithreaded parallelism www.openmp.org
MATLAB has the parallel computing toolbox which supports both CPU and NVIDIA GPU parallelism. uk.mathworks.com/products/par...
Many MATLAB functions are multithreaded out of the box so you get a degree of parallelism without the parallel toolbox.
In #rstats, the standard package is 'parallel'. Documentation at stat.ethz.ch/R-manual/R-d...
Ahead of #sc24, let’s look at some parallel frameworks in various languages.#HPC
First up is parsl which is a parallel programming framework in Python.
https://parsl-project.org/