Skip to content

Commit

Permalink
This version compiles and runs without crashing for 10 steps. It prod…
Browse files Browse the repository at this point in the history
…uces reasonable error norms.
  • Loading branch information
dmitrypek committed Aug 15, 2024
1 parent f5d309f commit bc1b165
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 13 deletions.
17 changes: 10 additions & 7 deletions src/trans/cpu/internal/dir_trans_ctl_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,9 @@ SUBROUTINE DIR_TRANS_CTL(KF_UV_G,KF_SCALARS_G,KF_GP,KF_FS,KF_UV,KF_SCALARS,&
USE TPM_GEN, ONLY: NPROMATR, NOUT
USE ABORT_TRANS_MOD, ONLY: ABORT_TRANS
USE LINKED_LIST_M, ONLY: LINKEDLISTNODE
USE TPM_DISTR, ONLY: D,NPROC,MYPROC,MYSETW

USE TPM_DISTR, ONLY: D,NPROC,MYPROC,MYSETW,NPRTRNS
USE TPM_TRANS ,ONLY : NGPBLKS
USE TRGTOL_MOD, ONLY : TRGTOL_PROLOG
IMPLICIT NONE

! Declaration of arguments
Expand Down Expand Up @@ -117,11 +118,12 @@ SUBROUTINE DIR_TRANS_CTL(KF_UV_G,KF_SCALARS_G,KF_GP,KF_FS,KF_UV,KF_SCALARS,&
INTEGER(KIND=JPIM) :: IBLKS,JBLK
INTEGER(KIND=JPIM) :: NDONE,KNRECV,KRECVCOUNT,KSENDCOUNT,IGL,JGL,J,ISETW,KNSEND
INTEGER(KIND=JPIM) :: IFIRSTLAT, ILASTLAT, IPOS, ISETA, ISETB, IRECV, ISETV,JFLD,JROC
INTEGER(KIND=JPIM), ALLOCATABLE :: KSENDTOT(:), KRECVTOT(:), KSEND(:), KRECV(:), KNDOFF(:), KGPTRSEND(:)
INTEGER(KIND=JPIM) :: KVSETUV(KF_GP)
INTEGER(KIND=JPIM), ALLOCATABLE :: KSENDTOT(:), KRECVTOT(:), KSEND(:), KRECV(:), KNDOFF(:)
INTEGER(KIND=JPIM) :: KGPTRSEND(2,NGPBLKS,NPRTRNS)
INTEGER(KIND=JPIM) :: IVSET(KF_GP)
INTEGER(KIND=JPIM) :: KINDEX(D%NLENGTF)
TYPE(LINKEDLISTNODE), POINTER :: IB
INTEGER(KIND=JPIM) :: IOFFSEND,IOFFRECV,IOFFGTF,IPOS,JFLD
INTEGER(KIND=JPIM) :: IOFFSEND,IOFFRECV,IOFFGTF
INTEGER(KIND=JPIM) :: IST

! ------------------------------------------------------------------
Expand Down Expand Up @@ -152,7 +154,7 @@ SUBROUTINE DIR_TRANS_CTL(KF_UV_G,KF_SCALARS_G,KF_GP,KF_FS,KF_UV,KF_SCALARS,&
ALLOCATE(KSEND(NPROC))
ALLOCATE(KRECV(NPROC))
ALLOCATE(KNDOFF(NPROC))
ALLOCATE(KGPTRSEND(2,NGPBLKS,NPRTRNS))
! ALLOCATE(KGPTRSEND(2,NGPBLKS,NPRTRNS))

! Create a combined V-set array
IST = 1
Expand Down Expand Up @@ -247,7 +249,8 @@ SUBROUTINE ACTIVATE(N, KF_GP, KF_SCALARS_G, KF_UV_G, KVSETUV, KVSETSC, PGP, IOFF
CLASS(BATCH), POINTER :: NEW_BATCH

! Add a new Batch to the list
CALL ACTIVE_BATCHES%APPEND(BATCH(N, KF_GP, KF_SCALARS_G, KF_UV_G, KVSETUV, KVSETSC, IOFFSEND, IOFFRECV, IOFFGTF, SENDCNTMAX, RECVCNTMAX))
CALL ACTIVE_BATCHES%APPEND(BATCH(N, KF_GP, KF_SCALARS_G, KF_UV_G, KVSETUV, KVSETSC, IOFFSEND, &
& IOFFRECV, IOFFGTF, SENDCNTMAX, RECVCNTMAX))

SELECT TYPE (NEW_BATCH => ACTIVE_BATCHES%TAIL%VALUE)
TYPE IS (BATCH)
Expand Down
13 changes: 7 additions & 6 deletions src/trans/cpu/internal/overlap_types_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ MODULE OVERLAP_TYPES_MOD
! Batch methods
! -----------------------------------------------------------------------------

FUNCTION BATCH_CONSTRUCTOR(KBLK, KF_GP, KF_SCALARS_G, KF_UV_G, KVSETUV, KVSETSC, IOFFSEND, IOFFRECV, IOFFGTF, SENDCNTMAX, RECVCNTMAX) RESULT(THIS)
FUNCTION BATCH_CONSTRUCTOR(KBLK, KF_GP, KF_SCALARS_G, KF_UV_G, KVSETUV, KVSETSC, IOFFSEND, &
& IOFFRECV, IOFFGTF, SENDCNTMAX, RECVCNTMAX) RESULT(THIS)
USE SHUFFLE_MOD, ONLY: SHUFFLE
USE FIELD_SPLIT_MOD, ONLY: FIELD_SPLIT
USE TPM_GEN, ONLY: NPROMATR, NOUT
Expand Down Expand Up @@ -152,9 +153,9 @@ FUNCTION BATCH_CONSTRUCTOR(KBLK, KF_GP, KF_SCALARS_G, KF_UV_G, KVSETUV, KVSETSC,
& THIS%NRECV, THIS%NINDEX, THIS%NNDOFF, THIS%NGPTRSEND)

THIS%MYOFFSEND = IOFFSEND
IOFFSEND = IOFFSEND + SENDCNTMAX
IOFFSEND = IOFFSEND + THIS%NSENDCOUNT
THIS%MYOFFRECV = IOFFRECV
IOFFRECV = IOFFRECV + RECVCNTMAX
IOFFRECV = IOFFRECV + THIS%NRECVCOUNT
END FUNCTION BATCH_CONSTRUCTOR

SUBROUTINE START_COMM(THIS, PGP, IREQ_RECV,PGTF,PCOMBUFS,PCOMBUFR)
Expand All @@ -168,8 +169,8 @@ SUBROUTINE START_COMM(THIS, PGP, IREQ_RECV,PGTF,PCOMBUFS,PCOMBUFR)
REAL(KIND=JPRB) :: PCOMBUFR(:,:),PCOMBUFS(:,:)

CALL TRGTOL_COMM_SEND(PGTF(THIS%IOFFGTF:THIS%IOFFGTF+THIS%NF_FS-1,:), &
& PCOMBUFS(THIS%MYOFFSEND:THIS%MYOFFSEND+THIS%SENDCNTMAX,:), &
& PCOMBUFR(THIS%MYOFFRECV:THIS%MYOFFRECV+THIS%RECVCNTMAX,:), &
& PCOMBUFS(THIS%MYOFFSEND:THIS%MYOFFSEND+THIS%NSENDCOUNT,:), &
& PCOMBUFR(THIS%MYOFFRECV:THIS%MYOFFRECV+THIS%NRECVCOUNT,:), &
& THIS%NF_FS, THIS%NF_GP, THIS%NF_SCALARS_G, THIS%NVSET, THIS%NSENDCOUNT, &
& THIS%NRECVCOUNT, THIS%NNSEND, THIS%NNRECV, THIS%NSENDTOT, &
& THIS%NRECVTOT, THIS%NSEND, THIS%NRECV, THIS%NINDEX, THIS%NNDOFF, &
Expand Down Expand Up @@ -209,7 +210,7 @@ SUBROUTINE FINISH_COMM(THIS, PGTF, IREQ_RECV, PCOMBUFR, PSPVOR, PSPDIV, PSPSCALA
REAL(KIND=JPRB), INTENT(INOUT) :: PCOMBUFR(:,:)

CALL TRGTOL_COMM_RECV(PGTF(THIS%IOFFGTF:THIS%IOFFGTF+THIS%NF_FS-1,:), &
& PCOMBUFR(THIS%IOFFRECV:THIS%IOFFRECV+THIS%RECVCNTMAX,:), &
& PCOMBUFR(THIS%MYOFFRECV:THIS%MYOFFRECV+THIS%NRECVCOUNT,:), &
& THIS%NF_FS, THIS%NRECVCOUNT, THIS%NNRECV, THIS%NRECVTOT, THIS%NRECV, &
& THIS%NINDEX, THIS%NNDOFF, THIS%MYOFFRECV, IREQ_RECV)
CALL FTDIR_CTL_COMP(PGTF(THIS%IOFFGTF:THIS%IOFFGTF+THIS%NF_FS-1,:), THIS%NF_FS)
Expand Down

0 comments on commit bc1b165

Please sign in to comment.