Skip to content

Commit

Permalink
Each variant compiled with an unique suffix
Browse files Browse the repository at this point in the history
  • Loading branch information
piotrows committed Dec 1, 2023
1 parent b147e38 commit 7c1b816
Show file tree
Hide file tree
Showing 14 changed files with 186 additions and 28 deletions.
5 changes: 5 additions & 0 deletions src/programs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ ecbuild_add_library(
$<INSTALL_INTERFACE:include>
PRIVATE_DEFINITIONS SYMBOLSUFFIX
PRECOPT
ACCGPU
PUBLIC_LIBS fiat trans_gpu_sp trans_gpu_dp
)

Expand Down Expand Up @@ -91,9 +92,13 @@ foreach( program ectrans-benchmark ectrans-benchmark-ifs )
LIBS
fiat
parkind_${prec}
# trans_sp
# trans_dp
trans_gpu_sp
trans_gpu_dp
#ectrans_interfaces
ectrans_interfaces_gpu
DEFINITIONS ACCGPU
)
endif()
endforeach( prec )
Expand Down
2 changes: 1 addition & 1 deletion src/programs/ectrans-benchmark.F90
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ program transform_test
logical :: lmpoff = .false. ! Message passing switch

! Verbosity level (0 or 1)
integer :: verbosity = 0
integer :: verbosity = 1

real(kind=jprb) :: zra = 6371229._jprb

Expand Down
26 changes: 22 additions & 4 deletions src/programs/wrappers/dir_trans.F90
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ SUBROUTINE DIR_TRANS_ISP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2,PRECBACKEND_FLAG)

USE EC_PARKIND ,ONLY : JPIM,JPRM
USE ECTRANS_MOD_VER_SP, ONLY : DIR_TRANS_VER_SP !=> DIR_TRANS
#ifdef ACCGPU
USE ECTRANS_MOD_VER_SP_GPU, ONLY : DIR_TRANS_VER_SP_GPU
#else
USE ECTRANS_MOD_VER_SP, ONLY : DIR_TRANS_VER_SP
#endif
REAL(KIND=JPRM) ,OPTIONAL, INTENT(OUT) :: PSPVOR(:,:)
REAL(KIND=JPRM) ,OPTIONAL, INTENT(OUT) :: PSPDIV(:,:)
REAL(KIND=JPRM) ,OPTIONAL, INTENT(OUT) :: PSPSCALAR(:,:)
Expand All @@ -33,7 +37,12 @@ SUBROUTINE DIR_TRANS_ISP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
REAL(KIND=JPRM),OPTIONAL,INTENT(IN) :: PGP3B(:,:,:,:)
REAL(KIND=JPRM),OPTIONAL,INTENT(IN) :: PGP2(:,:,:)
REAL(KIND=JPRM),INTENT(IN) :: PRECBACKEND_FLAG
CALL DIR_TRANS_VER_SP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
#ifdef ACCGPU
CALL DIR_TRANS_VER_SP_GPU &
#else
CALL DIR_TRANS_VER_SP &
#endif
(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& LDLATLON,KPROMA,KVSETUV,KVSETSC,KRESOL,KVSETSC3A,KVSETSC3B,KVSETSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2)
END SUBROUTINE DIR_TRANS_ISP
Expand All @@ -43,7 +52,11 @@ SUBROUTINE DIR_TRANS_IDP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2,PRECBACKEND_FLAG)

USE EC_PARKIND ,ONLY : JPIM,JPRD
USE ECTRANS_MOD_VER_DP, ONLY : DIR_TRANS_VER_DP !=> DIR_TRANS
#ifdef ACCGPU
USE ECTRANS_MOD_VER_DP_GPU, ONLY : DIR_TRANS_VER_DP_GPU
#else
USE ECTRANS_MOD_VER_DP, ONLY : DIR_TRANS_VER_DP
#endif
REAL(KIND=JPRD) ,OPTIONAL, INTENT(OUT) :: PSPVOR(:,:)
REAL(KIND=JPRD) ,OPTIONAL, INTENT(OUT) :: PSPDIV(:,:)
REAL(KIND=JPRD) ,OPTIONAL, INTENT(OUT) :: PSPSCALAR(:,:)
Expand All @@ -64,7 +77,12 @@ SUBROUTINE DIR_TRANS_IDP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
REAL(KIND=JPRD),OPTIONAL,INTENT(IN) :: PGP3B(:,:,:,:)
REAL(KIND=JPRD),OPTIONAL,INTENT(IN) :: PGP2(:,:,:)
REAL(KIND=JPRD),INTENT(IN) :: PRECBACKEND_FLAG
CALL DIR_TRANS_VER_DP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
#ifdef ACCGPU
CALL DIR_TRANS_VER_DP_GPU &
#else
CALL DIR_TRANS_VER_DP &
#endif
(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& LDLATLON,KPROMA,KVSETUV,KVSETSC,KRESOL,KVSETSC3A,KVSETSC3B,KVSETSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2)
END SUBROUTINE DIR_TRANS_IDP
12 changes: 10 additions & 2 deletions src/programs/wrappers/dir_trans.inc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@ SUBROUTINE DIR_TRANS_ISP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2,PRECBACKEND_FLAG)

USE EC_PARKIND ,ONLY : JPIM,JPRM
USE ECTRANS_MOD_VER_SP, ONLY : DIR_TRANS_VER_SP !=> DIR_TRANS
#ifdef ACCGPU
USE ECTRANS_MOD_VER_SP_GPU, ONLY : DIR_TRANS_VER_SP_GPU
#else
USE ECTRANS_MOD_VER_SP, ONLY : DIR_TRANS_VER_SP
#endif
REAL(KIND=JPRM) ,OPTIONAL, INTENT(OUT) :: PSPVOR(:,:)
REAL(KIND=JPRM) ,OPTIONAL, INTENT(OUT) :: PSPDIV(:,:)
REAL(KIND=JPRM) ,OPTIONAL, INTENT(OUT) :: PSPSCALAR(:,:)
Expand Down Expand Up @@ -41,7 +45,11 @@ SUBROUTINE DIR_TRANS_IDP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2,PRECBACKEND_FLAG)

USE EC_PARKIND ,ONLY : JPIM,JPRD
USE ECTRANS_MOD_VER_DP, ONLY : DIR_TRANS_VER_DP !=> DIR_TRANS
#ifdef ACCGPU
USE ECTRANS_MOD_VER_DP_GPU, ONLY : DIR_TRANS_VER_DP_GPU
#else
USE ECTRANS_MOD_VER_DP, ONLY : DIR_TRANS_VER_DP
#endif
REAL(KIND=JPRD) ,OPTIONAL, INTENT(OUT) :: PSPVOR(:,:)
REAL(KIND=JPRD) ,OPTIONAL, INTENT(OUT) :: PSPDIV(:,:)
REAL(KIND=JPRD) ,OPTIONAL, INTENT(OUT) :: PSPSCALAR(:,:)
Expand Down
26 changes: 22 additions & 4 deletions src/programs/wrappers/inv_trans.F90
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ SUBROUTINE INV_TRANS_ISP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2,PRECBACKEND_FLAG)

USE EC_PARKIND ,ONLY : JPIM,JPRM
USE ECTRANS_MOD_VER_SP, ONLY : INV_TRANS_VER_SP
#ifdef ACCGPU
USE ECTRANS_MOD_VER_SP_GPU, ONLY : INV_TRANS_VER_SP_GPU
#else
USE ECTRANS_MOD_VER_SP, ONLY : INV_TRANS_VER_SP
#endif

REAL(KIND=JPRM) ,OPTIONAL, INTENT(IN) :: PSPVOR(:,:)
REAL(KIND=JPRM) ,OPTIONAL, INTENT(IN) :: PSPDIV(:,:)
Expand Down Expand Up @@ -42,7 +46,12 @@ SUBROUTINE INV_TRANS_ISP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
REAL(KIND=JPRM),OPTIONAL ,INTENT(OUT) :: PGP3B(:,:,:,:)
REAL(KIND=JPRM),OPTIONAL ,INTENT(OUT) :: PGP2(:,:,:)
REAL(KIND=JPRM),INTENT(IN) :: PRECBACKEND_FLAG
CALL INV_TRANS_VER_SP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
#ifdef ACCGPU
CALL INV_TRANS_VER_SP_GPU &
#else
CALL INV_TRANS_VER_SP &
#endif
(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& FSPGL_PROC,&
& LDSCDERS,LDVORGP,LDDIVGP,LDUVDER,LDLATLON,KPROMA,KVSETUV,KVSETSC,KRESOL,&
& KVSETSC3A,KVSETSC3B,KVSETSC2,&
Expand All @@ -56,7 +65,11 @@ SUBROUTINE INV_TRANS_IDP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2,PRECBACKEND_FLAG)

USE EC_PARKIND ,ONLY : JPIM,JPRD
USE ECTRANS_MOD_VER_DP, ONLY : INV_TRANS_VER_DP
#ifdef ACCGPU
USE ECTRANS_MOD_VER_DP_GPU, ONLY : INV_TRANS_VER_DP_GPU
#else
USE ECTRANS_MOD_VER_DP, ONLY : INV_TRANS_VER_DP
#endif

REAL(KIND=JPRD) ,OPTIONAL, INTENT(IN) :: PSPVOR(:,:)
REAL(KIND=JPRD) ,OPTIONAL, INTENT(IN) :: PSPDIV(:,:)
Expand Down Expand Up @@ -84,7 +97,12 @@ SUBROUTINE INV_TRANS_IDP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
REAL(KIND=JPRD),OPTIONAL ,INTENT(OUT) :: PGP3B(:,:,:,:)
REAL(KIND=JPRD),OPTIONAL ,INTENT(OUT) :: PGP2(:,:,:)
REAL(KIND=JPRD),INTENT(IN) :: PRECBACKEND_FLAG
CALL INV_TRANS_VER_DP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
#ifdef ACCGPU
CALL INV_TRANS_VER_DP_GPU &
#else
CALL INV_TRANS_VER_DP &
#endif
(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& FDPGL_PROC,&
& LDSCDERS,LDVORGP,LDDIVGP,LDUVDER,LDLATLON,KPROMA,KVSETUV,KVSETSC,KRESOL,&
& KVSETSC3A,KVSETSC3B,KVSETSC2,&
Expand Down
12 changes: 10 additions & 2 deletions src/programs/wrappers/inv_trans.inc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,11 @@ SUBROUTINE INV_TRANS_ISP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2,PRECBACKEND_FLAG)

USE EC_PARKIND ,ONLY : JPIM,JPRM
USE ECTRANS_MOD_VER_SP, ONLY : INV_TRANS_VER_SP
#ifdef ACCGPU
USE ECTRANS_MOD_VER_SP_GPU, ONLY : INV_TRANS_VER_SP_GPU
#else
USE ECTRANS_MOD_VER_SP, ONLY : INV_TRANS_VER_SP
#endif

REAL(KIND=JPRM) ,OPTIONAL, INTENT(IN) :: PSPVOR(:,:)
REAL(KIND=JPRM) ,OPTIONAL, INTENT(IN) :: PSPDIV(:,:)
Expand Down Expand Up @@ -52,7 +56,11 @@ SUBROUTINE INV_TRANS_IDP(PSPVOR,PSPDIV,PSPSCALAR,PSPSC3A,PSPSC3B,PSPSC2,&
& PGP,PGPUV,PGP3A,PGP3B,PGP2,PRECBACKEND_FLAG)

USE EC_PARKIND ,ONLY : JPIM,JPRD
USE ECTRANS_MOD_VER_DP, ONLY : INV_TRANS_VER_DP
#ifdef ACCGPU
USE ECTRANS_MOD_VER_DP_GPU, ONLY : INV_TRANS_VER_DP_GPU
#else
USE ECTRANS_MOD_VER_DP, ONLY : INV_TRANS_VER_DP
#endif

REAL(KIND=JPRD) ,OPTIONAL, INTENT(IN) :: PSPVOR(:,:)
REAL(KIND=JPRD) ,OPTIONAL, INTENT(IN) :: PSPDIV(:,:)
Expand Down
26 changes: 23 additions & 3 deletions src/programs/wrappers/setup_trans.F90
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@ SUBROUTINE SETUP_TRANS_ISP(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&

USE EC_PARKIND ,ONLY : JPIM,JPRM
USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_PTR, C_INT,C_ASSOCIATED,C_SIZE_T
USE ECTRANS_MOD_VER_SP, ONLY : SETUP_TRANS_VER_SP
#ifdef ACCGPU
USE ECTRANS_MOD_VER_SP_GPU, ONLY : SETUP_TRANS_VER_SP_GPU
#else
USE ECTRANS_MOD_VER_SP, ONLY : SETUP_TRANS_VER_SP
#endif


INTEGER(KIND=JPIM) ,INTENT(IN) :: KSMAX,KDGL
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KDLON
Expand All @@ -39,7 +44,12 @@ SUBROUTINE SETUP_TRANS_ISP(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&
TYPE(C_PTR) ,OPTIONAL,INTENT(IN) :: KLEGPOLPTR
INTEGER(C_SIZE_T) ,OPTIONAL,INTENT(IN) :: KLEGPOLPTR_LEN
REAL(KIND=JPRM),INTENT(IN) :: PRECBACKEND_FLAG
CALL SETUP_TRANS_VER_SP(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&
#ifdef ACCGPU
CALL SETUP_TRANS_VER_SP_GPU &
#else
CALL SETUP_TRANS_VER_SP &
#endif
(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&
&KTMAX,KRESOL,PWEIGHT,LDGRIDONLY,LDUSERPNM,LDKEEPRPNM,LDUSEFLT,&
&LDSPSETUPONLY,LDPNMONLY,LDUSEFFTW,&
&LDLL,LDSHIFTLL,CDIO_LEGPOL,CDLEGPOLFNAME,KLEGPOLPTR,KLEGPOLPTR_LEN)
Expand All @@ -53,7 +63,12 @@ SUBROUTINE SETUP_TRANS_IDP(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&

USE EC_PARKIND ,ONLY : JPIM,JPRD
USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_PTR, C_INT,C_ASSOCIATED,C_SIZE_T
#ifdef ACCGPU
USE ECTRANS_MOD_VER_DP_GPU, ONLY : SETUP_TRANS_VER_DP_GPU
#else
USE ECTRANS_MOD_VER_DP, ONLY : SETUP_TRANS_VER_DP
#endif

INTEGER(KIND=JPIM) ,INTENT(IN) :: KSMAX,KDGL
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KDLON
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KLOEN(:)
Expand All @@ -76,7 +91,12 @@ SUBROUTINE SETUP_TRANS_IDP(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&
TYPE(C_PTR) ,OPTIONAL,INTENT(IN) :: KLEGPOLPTR
INTEGER(C_SIZE_T) ,OPTIONAL,INTENT(IN) :: KLEGPOLPTR_LEN
REAL(KIND=JPRD),INTENT(IN) :: PRECBACKEND_FLAG
CALL SETUP_TRANS_VER_DP(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&
#ifdef ACCGPU
CALL SETUP_TRANS_VER_DP_GPU &
#else
CALL SETUP_TRANS_VER_DP &
#endif
(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&
&KTMAX,KRESOL,PWEIGHT,LDGRIDONLY,LDUSERPNM,LDKEEPRPNM,LDUSEFLT,&
&LDSPSETUPONLY,LDPNMONLY,LDUSEFFTW,&
&LDLL,LDSHIFTLL,CDIO_LEGPOL,CDLEGPOLFNAME,KLEGPOLPTR,KLEGPOLPTR_LEN)
Expand Down
11 changes: 10 additions & 1 deletion src/programs/wrappers/setup_trans.inc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@ SUBROUTINE SETUP_TRANS_ISP(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&

USE EC_PARKIND ,ONLY : JPIM,JPRM
USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_PTR, C_INT,C_ASSOCIATED,C_SIZE_T
USE ECTRANS_MOD_VER_SP, ONLY : SETUP_TRANS_VER_SP
#ifdef ACCGPU
USE ECTRANS_MOD_VER_SP_GPU, ONLY : SETUP_TRANS_VER_SP_GPU
#else
USE ECTRANS_MOD_VER_SP, ONLY : SETUP_TRANS_VER_SP
#endif


INTEGER(KIND=JPIM) ,INTENT(IN) :: KSMAX,KDGL
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KDLON
Expand Down Expand Up @@ -51,7 +56,11 @@ SUBROUTINE SETUP_TRANS_IDP(KSMAX,KDGL,KDLON,KLOEN,LDSPLIT,PSTRET,&

USE EC_PARKIND ,ONLY : JPIM,JPRD
USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_PTR, C_INT,C_ASSOCIATED,C_SIZE_T
#ifdef ACCGPU
USE ECTRANS_MOD_VER_DP_GPU, ONLY : SETUP_TRANS_VER_DP_GPU
#else
USE ECTRANS_MOD_VER_DP, ONLY : SETUP_TRANS_VER_DP
#endif

INTEGER(KIND=JPIM) ,INTENT(IN) :: KSMAX,KDGL
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KDLON
Expand Down
26 changes: 22 additions & 4 deletions src/programs/wrappers/setup_trans0.F90
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,13 @@ SUBROUTINE SETUP_TRANS0_ISP(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
& LDMPOFF,LDSYNC_TRANS,KTRANS_SYNC_LEVEL,&
& LDEQ_REGIONS,K_REGIONS_NS,K_REGIONS_EW,K_REGIONS,&
& PRAD,LDALLOPERM, PRECBACKEND_FLAG)

USE EC_PARKIND ,ONLY : JPIM, JPRM
#ifdef ACCGPU
USE ECTRANS_MOD_VER_SP_GPU, ONLY : SETUP_TRANS0_VER_SP_GPU
#else
USE ECTRANS_MOD_VER_SP, ONLY : SETUP_TRANS0_VER_SP
#endif

INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KPRGPNS,KPRGPEW,KPRTRW,KCOMBFLEN
Expand All @@ -28,7 +33,12 @@ SUBROUTINE SETUP_TRANS0_ISP(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(OUT) :: K_REGIONS_NS
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(OUT) :: K_REGIONS_EW
REAL(KIND=JPRM),INTENT(IN) :: PRECBACKEND_FLAG
CALL SETUP_TRANS0_VER_SP(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
#ifdef ACCGPU
CALL SETUP_TRANS0_VER_SP_GPU &
#else
CALL SETUP_TRANS0_VER_SP &
#endif
(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
& KPRGPNS,KPRGPEW,KPRTRW,KCOMBFLEN,&
& LDMPOFF,LDSYNC_TRANS,KTRANS_SYNC_LEVEL,&
& LDEQ_REGIONS,K_REGIONS_NS,K_REGIONS_EW,K_REGIONS,&
Expand All @@ -42,8 +52,11 @@ SUBROUTINE SETUP_TRANS0_IDP(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
& LDEQ_REGIONS,K_REGIONS_NS,K_REGIONS_EW,K_REGIONS,&
& PRAD,LDALLOPERM, PRECBACKEND_FLAG)
USE EC_PARKIND ,ONLY : JPIM, JPRD
USE ECTRANS_MOD_VER_DP, ONLY : SETUP_TRANS0_VER_DP

#ifdef ACCGPU
USE ECTRANS_MOD_VER_DP_GPU, ONLY : SETUP_TRANS0_VER_DP_GPU
#else
USE ECTRANS_MOD_VER_DP, ONLY : SETUP_TRANS0_VER_DP
#endif
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KPRGPNS,KPRGPEW,KPRTRW,KCOMBFLEN
LOGICAL ,OPTIONAL,INTENT(IN) :: LDMPOFF
Expand All @@ -56,7 +69,12 @@ SUBROUTINE SETUP_TRANS0_IDP(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(OUT) :: K_REGIONS_NS
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(OUT) :: K_REGIONS_EW
REAL(KIND=JPRD),INTENT(IN) :: PRECBACKEND_FLAG
CALL SETUP_TRANS0_VER_DP(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
#ifdef ACCGPU
CALL SETUP_TRANS0_VER_DP_GPU &
#else
CALL SETUP_TRANS0_VER_DP &
#endif
(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
& KPRGPNS,KPRGPEW,KPRTRW,KCOMBFLEN,&
& LDMPOFF,LDSYNC_TRANS,KTRANS_SYNC_LEVEL,&
& LDEQ_REGIONS,K_REGIONS_NS,K_REGIONS_EW,K_REGIONS,&
Expand Down
14 changes: 11 additions & 3 deletions src/programs/wrappers/setup_trans0.inc
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,13 @@ SUBROUTINE SETUP_TRANS0_ISP(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
& LDMPOFF,LDSYNC_TRANS,KTRANS_SYNC_LEVEL,&
& LDEQ_REGIONS,K_REGIONS_NS,K_REGIONS_EW,K_REGIONS,&
& PRAD,LDALLOPERM, PRECBACKEND_FLAG)
USE EC_PARKIND, ONLY : JPIM, JPRM

USE EC_PARKIND ,ONLY : JPIM, JPRM
#ifdef ACCGPU
USE ECTRANS_MOD_VER_SP_GPU, ONLY : SETUP_TRANS0_VER_SP_GPU
#else
USE ECTRANS_MOD_VER_SP, ONLY : SETUP_TRANS0_VER_SP
#endif

INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KPRGPNS,KPRGPEW,KPRTRW,KCOMBFLEN
Expand Down Expand Up @@ -43,8 +48,11 @@ SUBROUTINE SETUP_TRANS0_IDP(KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR,&
& LDEQ_REGIONS,K_REGIONS_NS,K_REGIONS_EW,K_REGIONS,&
& PRAD,LDALLOPERM, PRECBACKEND_FLAG)
USE EC_PARKIND ,ONLY : JPIM, JPRD
USE ECTRANS_MOD_VER_DP, ONLY : SETUP_TRANS0_VER_DP

#ifdef ACCGPU
USE ECTRANS_MOD_VER_DP_GPU, ONLY : SETUP_TRANS0_VER_DP_GPU
#else
USE ECTRANS_MOD_VER_DP, ONLY : SETUP_TRANS0_VER_DP
#endif
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KOUT,KERR,KPRINTLEV,KMAX_RESOL,KPROMATR
INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KPRGPNS,KPRGPEW,KPRTRW,KCOMBFLEN
LOGICAL ,OPTIONAL,INTENT(IN) :: LDMPOFF
Expand Down
21 changes: 21 additions & 0 deletions src/programs/wrappers/specnorm.inc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,26 @@
! nor does it submit to any jurisdiction.
!
INTERFACE SPECNORM
#ifdef ACCGPU
SUBROUTINE SPECNORM_VER_SP_GPU(PNORM,PSPEC,KVSET,KMASTER,KRESOL,PMET)
USE EC_PARKIND, ONLY: JPRM, JPIM
REAL(KIND=JPRM) , INTENT(OUT) :: PNORM(:)
REAL(KIND=JPRM) ,OPTIONAL, INTENT(IN) :: PSPEC(:,:)
INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(IN) :: KVSET(:)
INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(IN) :: KMASTER
REAL(KIND=JPRM) ,OPTIONAL, INTENT(IN) :: PMET(:)
INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(IN) :: KRESOL
END SUBROUTINE SPECNORM_VER_SP_GPU
SUBROUTINE SPECNORM_VER_DP_GPU(PNORM,PSPEC,KVSET,KMASTER,KRESOL,PMET)
USE EC_PARKIND, ONLY: JPRD, JPIM
REAL(KIND=JPRD) , INTENT(OUT) :: PNORM(:)
REAL(KIND=JPRD) ,OPTIONAL, INTENT(IN) :: PSPEC(:,:)
INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(IN) :: KVSET(:)
INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(IN) :: KMASTER
REAL(KIND=JPRD) ,OPTIONAL, INTENT(IN) :: PMET(:)
INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(IN) :: KRESOL
END SUBROUTINE SPECNORM_VER_DP_GPU
#else
SUBROUTINE SPECNORM_VER_SP(PNORM,PSPEC,KVSET,KMASTER,KRESOL,PMET)
USE EC_PARKIND, ONLY: JPRM, JPIM
REAL(KIND=JPRM) , INTENT(OUT) :: PNORM(:)
Expand All @@ -26,6 +46,7 @@ INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(IN) :: KMASTER
REAL(KIND=JPRD) ,OPTIONAL, INTENT(IN) :: PMET(:)
INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(IN) :: KRESOL
END SUBROUTINE SPECNORM_VER_DP
#endif
END INTERFACE SPECNORM


Loading

0 comments on commit 7c1b816

Please sign in to comment.