Add GPU annotations to subroutines called from kernels - #645
Open
Sergi Siso (sergisiso) wants to merge 1 commit into
Open
Add GPU annotations to subroutines called from kernels#645Sergi Siso (sergisiso) wants to merge 1 commit into
Sergi Siso (sergisiso) wants to merge 1 commit into
Conversation
Sergi Siso (sergisiso)
requested review from
iboutle,
James Kent (jameskent-metoffice) and
Thomas Bendall (tommbendall)
as code owners
July 21, 2026 13:45
Thomas Bendall (tommbendall)
requested changes
Jul 22, 2026
Thomas Bendall (tommbendall)
left a comment
Contributor
There was a problem hiding this comment.
My confusion here is why the annotations are only added to some routines and not others? For instance ffsl_flux_xy_kernel_mod.F90 is just one of several that do similar but slightly different things -- I'd expect you'd need to change all of the ffsl_flux_xy_*_kernel_mod.F90 files?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Summary
Sci/Tech Reviewer:
Code Reviewer: Oakley Brunt (@oakleybrunt)
This PR has the same goal as MetOffice/lfric_core#431, to increase the coverage of LFRic code that can be offloaded to GPUs by annotating subroutines that are called from LFRic kernels but are not directly exposed to psyclone and therefore cannot be annotated automatically.
The two PRs can be merged independently, and the directives can be removed once the new build system and necessary functionality in psyclone has been added. But until then, this is the easiest practical solution to progress the work of the GIG (GPU working group).
The directives will be ignored by any compiler not targeting GPU devices.
Code Quality Checklist
Testing
trac.log
Security Considerations
Performance Impact
AI Assistance and Attribution
Documentation
PSyclone Approval
Sci/Tech Review
(Please alert the code reviewer via a tag when you have approved the SR)
Code Review