MetOffice / MetOffice/lfric_core
Provide support for running without OpenMP
- Dominant language
- Fortran
- Stars
- 26
- Forks
- 73
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
### Contact Details
@mike-hobson
### Are there any linked Issues or Pull Requests?
ticket:4695
### Brief description
It should be possible to build and run the LFRic codes without using OpenMP. However, at the moment, it is not.
### Further details of the issue.
There are currently calls to the OpenMP library (e.g. `omp_get_thread_num()` and `omp_get_max_threads()`) inside PSyKAl-lite code that are not protected by OpenMP sentinels - so when OpenMP is turned off, it results in undefined references.
Also, it would be good to includes a test in the test suite that checks that the no OpenMP build/run still works (but I guess this would have to be in the Apps test suite - so not part of this Core ticket).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the PSyKAl-lite code that calls omp_get_thread_num() and omp_get_max_threads(), then inspect how OpenMP sentinels are handled elsewhere. The work is done when the core builds and runs without OpenMP and no undefined OpenMP references remain. The issue notes that a no-OpenMP runtime test would belong in the Apps test suite, not this core ticket.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fortran
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100