https://github.com/scivision/fortran-parallel-examples
https://github.com/scivision/fortran-parallel-examples
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/scivision/fortran-parallel-examples
- Owner: scivision
- License: mit
- Created: 2023-07-19T19:27:16.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-19T01:04:11.000Z (6 months ago)
- Last Synced: 2025-02-11T17:59:42.805Z (5 months ago)
- Language: Fortran
- Size: 17.6 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fortran Parallel Examples
[](https://github.com/scivision/fortran-parallel-examples/actions/workflows/cmake.yml)
[](https://github.com/scivision/fortran-parallel-examples/actions/workflows/oneapi-linux.yml)Examples of parallel runtimes from native Fortran syntax.
[Fortran coarrays or direct MPI operations](https://github.com/scivision/fortran-coarray-mpi-examples)
are in a separate repo.Examples include:
* do concurrent: including Fortran 202x "reduce" syntax supported by NVIDIA HPC SDK and Intel oneAPI
* OpenACC: directive for Fortran
* openmp: OpenMP threading examples## OpenMP
macOS users may need to install OpenMP libraries:
```sh
brew install libomp
```For such a macOS install, tell CMake where OpenMP libraries are by setting environment variable:
```sh
export OpenMP_ROOT=/opt/homebrew/opt/libomp
```## OpenACC
Not every compiler supports OpenACC.
For example, Intel oneAPI does not support OpenACC, but provides a
[migration tool](https://www.intel.com/content/www/us/en/developer/articles/technical/migration-of-openacc-api-to-openmp-api.html)
from OpenACC to OpenMP.