Skip to content

Conversation

@p-costa
Copy link
Collaborator

@p-costa p-costa commented Sep 18, 2025

This PR enables GPU offloading also via OpenMP.

Some notes:

  • It uses relatively recent features, such as the loop clause. OpenMP and OpenACC directives share some similarities, so I vertically aligned whenver it made sense, to facilitate reading.

  • OpenMP can be enabled with GPU_BACKEND=OMP under build.conf. OpenACC remains the default backend.

  • Some features of OpenACC do not translate directly to OpenMP and thus are not supported (e.g., how asynchrony is handled).

  • Thread-level parallelization on GPUs has been removed from the code.

This porting was originally fully performed by Leon Oostrum (@loostrum) from the Netherlands eScience Center, under the ExaFLOW project. I re-worked it due to a large divergence of that development branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants