Skip to content

CI cannot handle OpenMP target transfers of allocated arrays within derived types #25

@marshallward

Description

@marshallward

OpenMP build is generating the error shown below.

It appears that this particular version of GCC can't work with OpenMP directives which use arrays in derived types. This is more of a GCC issue than a code problem.

I believe this was a later addition to OpenMP, so not a huge surprise that the version used in our CI does not support it. I don't think the solution is to support it, but we should at least do something to ensure that the tests stop failing.

/home/runner/work/MOM6/MOM6/src/core/MOM_CoriolisAdv.F90:313:34:

  313 |   !$omp target enter data map(to: pbv, pbv%por_face_areaU, pbv%por_face_areaV) &
      |                                  1
Error: List item ‘pbv’ with allocatable components is not permitted in map clause at (1)
/home/runner/work/MOM6/MOM6/src/core/MOM_CoriolisAdv.F90:313:38:

  313 |   !$omp target enter data map(to: pbv, pbv%por_face_areaU, pbv%por_face_areaV) &
      |                                      1
Error: List item ‘pbv’ with allocatable components is not permitted in map clause at (1)
/home/runner/work/MOM6/MOM6/src/core/MOM_CoriolisAdv.F90:313:58:

  313 |   !$omp target enter data map(to: pbv, pbv%por_face_areaU, pbv%por_face_areaV) &
      |                                                          1
Error: List item ‘pbv’ with allocatable components is not permitted in map clause at (1)
/home/runner/work/MOM6/MOM6/src/core/MOM_CoriolisAdv.F90:993:37:

  993 |   !$omp target exit data map(delete: pbv, pbv%por_face_areaU, pbv%por_face_areaV) &
      |                                     1
Error: List item ‘pbv’ with allocatable components is not permitted in map clause at (1)
/home/runner/work/MOM6/MOM6/src/core/MOM_CoriolisAdv.F90:993:41:

  993 |   !$omp target exit data map(delete: pbv, pbv%por_face_areaU, pbv%por_face_areaV) &
      |                                         1
Error: List item ‘pbv’ with allocatable components is not permitted in map clause at (1)
/home/runner/work/MOM6/MOM6/src/core/MOM_CoriolisAdv.F90:993:61:

  993 |   !$omp target exit data map(delete: pbv, pbv%por_face_areaU, pbv%por_face_areaV) &
      |                                                             1
Error: List item ‘pbv’ with allocatable components is not permitted in map clause at (1)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions