Skip to content

Commit

Permalink
fix omp
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasm91 committed Aug 6, 2024
1 parent cd55e87 commit f917d3e
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 10 deletions.
25 changes: 20 additions & 5 deletions src/trans/gpu/internal/trgtol_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -342,62 +342,77 @@ SUBROUTINE TRGTOL(ALLOCATOR,HTRGTOL,PREEL_REAL,KF_FS,KF_GP,KF_UV_G,KF_SCALARS_G,
ENDIF
CALL GSTATS(412,0)
ACC_POINTERS_CNT = 0
LUPDATE_PGP = .FALSE.
IF (PRESENT(PGP)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGP)
#ifdef ACCGPU
LUPDATE_PGP = .NOT. ACC_IS_PRESENT(PGP)
#endif
ENDIF
LUPDATE_PGPUV = .FALSE.
IF (PRESENT(PGPUV)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGPUV)
#ifdef ACCGPU
LUPDATE_PGPUV = .NOT. ACC_IS_PRESENT(PGPUV)
#endif
ENDIF
LUPDATE_PGP2 = .FALSE.
IF (PRESENT(PGP2)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGP2)
#ifdef ACCGPU
LUPDATE_PGP2 = .NOT. ACC_IS_PRESENT(PGP2)
#endif
ENDIF
LUPDATE_PGP3A = .FALSE.
IF (PRESENT(PGP3A)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGP3A)
#ifdef ACCGPU
LUPDATE_PGP3A = .NOT. ACC_IS_PRESENT(PGP3A)
#endif
ENDIF
LUPDATE_PGP3B = .FALSE.
IF (PRESENT(PGP3B)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGP3B)
#ifdef ACCGPU
LUPDATE_PGP3B = .NOT. ACC_IS_PRESENT(PGP3B)
#endif
ENDIF
IF (ACC_POINTERS_CNT > 0) CALL EXT_ACC_CREATE(ACC_POINTERS(1:ACC_POINTERS_CNT),STREAM=1_ACC_HANDLE_KIND)
!$ACC WAIT(1)
IF (PRESENT(PGP) .AND. LUPDATE_PGP) THEN
IF (LUPDATE_PGP) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
!$ACC UPDATE DEVICE(PGP)
#endif
ENDIF
IF (PRESENT(PGPUV) .AND. LUPDATE_PGPUV) THEN
IF (LUPDATE_PGPUV) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
!$ACC UPDATE DEVICE(PGPUV)
#endif
ENDIF
IF (PRESENT(PGP2) .AND. LUPDATE_PGP2) THEN
IF (LUPDATE_PGP2) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
!$ACC UPDATE DEVICE(PGP2)
#endif
ENDIF
IF (PRESENT(PGP3A) .AND. LUPDATE_PGP3A) THEN
IF (LUPDATE_PGP3A) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
!$ACC UPDATE DEVICE(PGP3A)
#endif
ENDIF
IF (PRESENT(PGP3B) .AND. LUPDATE_PGP3B) THEN
IF (LUPDATE_PGP3B) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
Expand Down
25 changes: 20 additions & 5 deletions src/trans/gpu/internal/trltog_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -488,30 +488,45 @@ SUBROUTINE TRLTOG(ALLOCATOR,HTRLTOG,PREEL_REAL,KF_FS,KF_GP,KF_UV_G,KF_SCALARS_G,
#endif

ACC_POINTERS_CNT = 0
LUPDATE_PGP = .FALSE.
IF (PRESENT(PGP)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGP)
#ifdef ACCGPU
LUPDATE_PGP = .NOT. ACC_IS_PRESENT(PGP)
#endif
ENDIF
LUPDATE_PGPUV = .FALSE.
IF (PRESENT(PGPUV)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGPUV)
#ifdef ACCGPU
LUPDATE_PGPUV = .NOT. ACC_IS_PRESENT(PGPUV)
#endif
ENDIF
LUPDATE_PGP2 = .FALSE.
IF (PRESENT(PGP2)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGP2)
#ifdef ACCGPU
LUPDATE_PGP2 = .NOT. ACC_IS_PRESENT(PGP2)
#endif
ENDIF
LUPDATE_PGP3A = .FALSE.
IF (PRESENT(PGP3A)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGP3A)
#ifdef ACCGPU
LUPDATE_PGP3A = .NOT. ACC_IS_PRESENT(PGP3A)
#endif
ENDIF
LUPDATE_PGP3B = .FALSE.
IF (PRESENT(PGP3B)) THEN
ACC_POINTERS_CNT = ACC_POINTERS_CNT + 1
ACC_POINTERS(ACC_POINTERS_CNT) = EXT_ACC_PASS(PGP3B)
#ifdef ACCGPU
LUPDATE_PGP3B = .NOT. ACC_IS_PRESENT(PGP3B)
#endif
ENDIF
IF (ACC_POINTERS_CNT > 0) CALL EXT_ACC_CREATE(ACC_POINTERS(1:ACC_POINTERS_CNT),STREAM=1_ACC_HANDLE_KIND)
#ifdef OMPGPU
Expand Down Expand Up @@ -863,35 +878,35 @@ SUBROUTINE TRLTOG(ALLOCATOR,HTRLTOG,PREEL_REAL,KF_FS,KF_GP,KF_UV_G,KF_SCALARS_G,
!$ACC END DATA ! PGPUV
!$ACC END DATA ! PGP
#endif
IF (PRESENT(PGP) .AND. LUPDATE_PGP) THEN
IF (LUPDATE_PGP) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
!$ACC UPDATE HOST(PGP)
#endif
ENDIF
IF (PRESENT(PGPUV) .AND. LUPDATE_PGPUV) THEN
IF (LUPDATE_PGPUV) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
!$ACC UPDATE HOST(PGPUV)
#endif
ENDIF
IF (PRESENT(PGP2) .AND. LUPDATE_PGP2) THEN
IF (LUPDATE_PGP2) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
!$ACC UPDATE HOST(PGP2)
#endif
ENDIF
IF (PRESENT(PGP3A) .AND. LUPDATE_PGP3A) THEN
IF (LUPDATE_PGP3A) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
!$ACC UPDATE HOST(PGP3A)
#endif
ENDIF
IF (PRESENT(PGP3B) .AND. LUPDATE_PGP3B) THEN
IF (LUPDATE_PGP3B) THEN
#ifdef OMPGPU
#endif
#ifdef ACCGPU
Expand Down

0 comments on commit f917d3e

Please sign in to comment.