Skip to content

Umbrella Transmute fixes and OMP kernels #424

Open
1 of 6 issues completed
Open

Description

Are there any linked Issues or Pull Requests?

Kernel Transmute Scripts:

conv_gr_kernel_mod - #583 - DONE
#361 - CR - Note this has accidentally turned off mphys_kernel_mod as the options sit in global? - DONE
Extend OMP in kernels: #608 - DONE
Further Socretes: #619 - DONE
Nowaits and align parallelism #738 - TBD

Adjacent Transmute fixes:

Transmute not kernels : #630 - DONE
Transmute testing: #755 - DONE

Adjacent PSyclone work

Brief description

A number of Domain kernels still do not have effective OMP coverage, which is affecting performance.

These are low hanging things to help OMP performance.

Some have already been attempted, but do not appear to be giving us the expected performance boost.

We can try them with the new Transmute Local script

This would provide a small uplift in kernel runtime performance with OMP.

Furthermore for PSyclone 3.3.1 fix Transmute issues

Potentially explore further Transmute testing

Further details of the issue.

These are done (Or in progress):

bl_exp_kernel_mod \
bl_imp_kernel_mod \
bl_imp2_kernel_mod \
bm_tau_kernel_mod \
conv_gr_kernel_mod \
jules_exp_kernel_mod \
jules_extra_kernel_mod \
jules_imp_kernel_mod \
lw_kernel_mod \
mphys_kernel_mod \
pc2_initiation_kernel_mod \
pc2_conv_coupling_kernel_mod \
sw_kernel_mod \
sw_rad_tile_kernel_mod \

These are not:

interfaces/jules_interface/source/kernel/lw_rad_tile_kernel_mod.F90:  integer :: operates_on = DOMAIN
interfaces/jules_interface/source/kernel/sw_rad_tile_kernel_mod.F90:  integer :: operates_on = DOMAIN
interfaces/physics_schemes_interface/source/kernel/aerosol_ukca_kernel_mod.F90:  integer :: operates_on = DOMAIN - LOOPS
interfaces/physics_schemes_interface/source/kernel/bm_kernel_mod.F90:    integer :: operates_on = DOMAIN
interfaces/physics_schemes_interface/source/kernel/conv_comorph_kernel_mod.F90:    integer :: operates_on = DOMAIN
interfaces/physics_schemes_interface/source/kernel/lsp_prognostic_tnuc_kernel_mod.F90:    integer :: operates_on = DOMAIN
interfaces/physics_schemes_interface/source/kernel/mphys_turb_gen_kernel_mod.F90:  integer :: operates_on = DOMAIN
interfaces/physics_schemes_interface/source/kernel/photol_kernel_mod.F90:  integer :: operates_on = DOMAIN
interfaces/physics_schemes_interface/source/kernel/smith_kernel_mod.F90:    integer :: operates_on = DOMAIN
interfaces/physics_schemes_interface/source/kernel/spectral_gwd_kernel_mod.F90:    integer :: operates_on = DOMAIN
interfaces/physics_schemes_interface/source/kernel/tracer_mix_kernel_mod.F90:    integer :: operates_on = DOMAIN
interfaces/socrates_interface/source/kernel/cosp_kernel_mod.f90:  integer :: operates_on = DOMAIN
interfaces/socrates_interface/source/kernel/lw_inc_kernel_mod.F90:  integer :: operates_on = DOMAIN
interfaces/socrates_interface/source/kernel/lw_mts_kernel_mod.F90:  integer :: operates_on = DOMAIN
interfaces/socrates_interface/source/kernel/sw_inc_kernel_mod.F90:  integer :: operates_on = DOMAIN
interfaces/socrates_interface/source/kernel/sw_mts_kernel_mod.F90:  integer :: operates_on = DOMAIN

Activity

  1. MetBenjaminWent commented on Jul 14, 2026

    @MetBenjaminWent
    ContributorAuthor

    As a side and related peice of work, we need to fix all of the transmute scripts to correctly pipe in ignore_dependencies_for.
    #625

  2. MetBenjaminWent commented on Aug 3, 2026

    @MetBenjaminWent
    ContributorAuthor

    Re groups run:

    • ex1a_omp_developer
    • developer
    • all

    So I always run the rose stem cylc tests on HoT trunk with my work.

    ex1a_omp_developer is used to test that the OMP tests run to completion, and the KGO (Known good output) hold (which is a useful metric against race conditions).

    For any performance testing metrics, I make some production (higher optimisation) versions of the existing fast debug C192 runs (which are in the ex1a_omp_developer group, and run it with Vernier calipers inserted in each kernel.

  3. changed the title [-]Turn on OMP for Domain kernels[/-] [+]Turn on OMP for Domain kernels (And fix Transmute issues in 3.3.1)[/+] on Aug 19, 2026
  4. MetBenjaminWent commented on Aug 21, 2026

    @MetBenjaminWent
    ContributorAuthor

    Really helpful investigation by EPCC to further inform work:
    Mark B's slides they are on the mattermost WP3 Optimisation channel

  5. changed the title [-]Turn on OMP for Domain kernels (And fix Transmute issues in 3.3.1)[/-] [+]Turn on OMP for Domain kernels (And fix Transmute issues[/+] on Sep 3, 2026
  6. changed the title [-]Turn on OMP for Domain kernels (And fix Transmute issues[/-] [+]Umbrella Transmute fixes and OMP kernels[/+] on Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or request

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions