SETUP_TRANS Subroutine

subroutine SETUP_TRANS(KSMAX, KDGL, KDLON, KLOEN, LDSPLIT, PSTRET, KTMAX, KRESOL, PWEIGHT, LDGRIDONLY, LDUSERPNM, LDKEEPRPNM, LDUSEFLT, LDSPSETUPONLY, LDPNMONLY, LDUSEFFTW, LDLL, LDSHIFTLL, CDIO_LEGPOL, CDLEGPOLFNAME, KLEGPOLPTR, KLEGPOLPTR_LEN)

Uses

  • proc~~setup_trans~~UsesGraph proc~setup_trans SETUP_TRANS EC_ENV_MOD EC_ENV_MOD proc~setup_trans->EC_ENV_MOD PARKIND1 PARKIND1 proc~setup_trans->PARKIND1 YOMHOOK YOMHOOK proc~setup_trans->YOMHOOK iso_c_binding iso_c_binding proc~setup_trans->iso_c_binding module~abort_trans_mod ABORT_TRANS_MOD proc~setup_trans->module~abort_trans_mod module~parkind_ectrans PARKIND_ECTRANS proc~setup_trans->module~parkind_ectrans module~pre_suleg_mod PRE_SULEG_MOD proc~setup_trans->module~pre_suleg_mod module~prepsnm_mod~2 PREPSNM_MOD proc~setup_trans->module~prepsnm_mod~2 module~set_resol_mod SET_RESOL_MOD proc~setup_trans->module~set_resol_mod module~setup_dims_mod~2 SETUP_DIMS_MOD proc~setup_trans->module~setup_dims_mod~2 module~sharedmem_mod SHAREDMEM_MOD proc~setup_trans->module~sharedmem_mod module~sufft_mod SUFFT_MOD proc~setup_trans->module~sufft_mod module~suleg_mod SULEG_MOD proc~setup_trans->module~suleg_mod module~sump_trans_mod~2 SUMP_TRANS_MOD proc~setup_trans->module~sump_trans_mod~2 module~sump_trans_preleg_mod~2 SUMP_TRANS_PRELEG_MOD proc~setup_trans->module~sump_trans_preleg_mod~2 module~tpm_ctl~2 TPM_CTL proc~setup_trans->module~tpm_ctl~2 module~tpm_dim TPM_DIM proc~setup_trans->module~tpm_dim module~tpm_distr TPM_DISTR proc~setup_trans->module~tpm_distr module~tpm_fft TPM_FFT proc~setup_trans->module~tpm_fft module~tpm_fftw TPM_FFTW proc~setup_trans->module~tpm_fftw module~tpm_fields~2 TPM_FIELDS proc~setup_trans->module~tpm_fields~2 module~tpm_flt~2 TPM_FLT proc~setup_trans->module~tpm_flt~2 module~tpm_gen~2 TPM_GEN proc~setup_trans->module~tpm_gen~2 module~tpm_geometry~2 TPM_GEOMETRY proc~setup_trans->module~tpm_geometry~2 module~tpm_hicfft TPM_HICFFT proc~setup_trans->module~tpm_hicfft omp_lib omp_lib proc~setup_trans->omp_lib openacc openacc proc~setup_trans->openacc module~parkind_ectrans->PARKIND1 module~sharedmem_mod->iso_c_binding module~tpm_ctl~2->PARKIND1 module~tpm_ctl~2->iso_c_binding module~tpm_ctl~2->module~sharedmem_mod module~tpm_dim->PARKIND1 EC_PARKIND EC_PARKIND module~tpm_distr->EC_PARKIND module~tpm_fft->module~parkind_ectrans module~tpm_fftw->PARKIND1 module~tpm_fftw->YOMHOOK module~tpm_fftw->iso_c_binding MPL_MODULE MPL_MODULE module~tpm_fftw->MPL_MODULE module~tpm_fields~2->iso_c_binding module~tpm_fields~2->module~parkind_ectrans module~tpm_flt~2->module~parkind_ectrans module~seefmm_mix~2 seefmm_mix module~tpm_flt~2->module~seefmm_mix~2 module~tpm_gen~2->module~parkind_ectrans module~tpm_geometry~2->module~parkind_ectrans module~tpm_hicfft->iso_c_binding module~tpm_hicfft->module~parkind_ectrans module~growing_allocator_mod GROWING_ALLOCATOR_MOD module~tpm_hicfft->module~growing_allocator_mod module~growing_allocator_mod->iso_c_binding module~seefmm_mix~2->module~parkind_ectrans ecsort_mix ecsort_mix module~seefmm_mix~2->ecsort_mix module~wts500_mod~2 WTS500_MOD module~seefmm_mix~2->module~wts500_mod~2

*** SETUP_TRANS - Setup transform package for specific resolution

  • Interface. ---------- CALL SETUP_TRANS(...)

CALL EC_GETENV("ECTRANS_GPU_NFLEV",CENV) IF(LEN_TRIM(CENV)>0) THEN WRITE(NOUT,'(2A)') "Using temporary solution for buffer allocation using =",CENV READ(CENV,*) NFLEV0 ELSE NFLEV0 = ceiling(REAL(IMAXFLD)/NPRTRV) ENDIF

IDEVTYPE=ACC_DEVICE_NVIDIA $ACC ENTER DATA COPYIN(ZAVE,ZMINGL,ZMAXGL,ZMINGPN,ZMAXGPN)

Arguments

Type IntentOptional Attributes Name
integer(kind=JPIM), intent(in) :: KSMAX
integer(kind=JPIM), intent(in) :: KDGL
integer(kind=JPIM), intent(in), optional :: KDLON
integer(kind=JPIM), intent(in), optional :: KLOEN(:)
logical, intent(in), optional :: LDSPLIT
real(kind=JPRD), intent(in), optional :: PSTRET
integer(kind=JPIM), intent(in), optional :: KTMAX
integer(kind=JPIM), intent(out), optional :: KRESOL
real(kind=JPRD), intent(in), optional :: PWEIGHT(:)
logical, intent(in), optional :: LDGRIDONLY
logical, intent(in), optional :: LDUSERPNM
logical, intent(in), optional :: LDKEEPRPNM
logical, intent(in), optional :: LDUSEFLT
logical, intent(in), optional :: LDSPSETUPONLY
logical, intent(in), optional :: LDPNMONLY
logical, intent(in), optional :: LDUSEFFTW
logical, intent(in), optional :: LDLL
logical, intent(in), optional :: LDSHIFTLL
character(len=*), intent(in), optional :: CDIO_LEGPOL
character(len=*), intent(in), optional :: CDLEGPOLFNAME
type(C_PTR), intent(in), optional :: KLEGPOLPTR
integer(kind=C_SIZE_T), intent(in), optional :: KLEGPOLPTR_LEN

Calls

proc~~setup_trans~~CallsGraph proc~setup_trans SETUP_TRANS acc_get_device_num acc_get_device_num proc~setup_trans->acc_get_device_num acc_get_device_type acc_get_device_type proc~setup_trans->acc_get_device_type acc_get_num_devices acc_get_num_devices proc~setup_trans->acc_get_num_devices acc_set_device_num acc_set_device_num proc~setup_trans->acc_set_device_num align align proc~setup_trans->align d_mstabf d_mstabf proc~setup_trans->d_mstabf d_myms d_myms proc~setup_trans->d_myms d_nasm0 d_nasm0 proc~setup_trans->d_nasm0 d_npntgtb0 d_npntgtb0 proc~setup_trans->d_npntgtb0 d_npntgtb1 d_npntgtb1 proc~setup_trans->d_npntgtb1 d_nprocl d_nprocl proc~setup_trans->d_nprocl d_nprocm d_nprocm proc~setup_trans->d_nprocm d_nptrls d_nptrls proc~setup_trans->d_nptrls d_nstagt0b d_nstagt0b proc~setup_trans->d_nstagt0b d_nstagt1b d_nstagt1b proc~setup_trans->d_nstagt1b d_nstagtf d_nstagtf proc~setup_trans->d_nstagtf dr_hook dr_hook proc~setup_trans->dr_hook gstats gstats proc~setup_trans->gstats proc~abort_trans ABORT_TRANS proc~setup_trans->proc~abort_trans proc~pre_suleg PRE_SULEG proc~setup_trans->proc~pre_suleg proc~prepsnm PREPSNM proc~setup_trans->proc~prepsnm proc~set_resol SET_RESOL proc~setup_trans->proc~set_resol proc~setup_dims SETUP_DIMS proc~setup_trans->proc~setup_dims proc~sharedmem_create SHAREDMEM_CREATE proc~setup_trans->proc~sharedmem_create proc~sufft SUFFT proc~setup_trans->proc~sufft proc~suleg SULEG proc~setup_trans->proc~suleg proc~sump_trans SUMP_TRANS proc~setup_trans->proc~sump_trans proc~sump_trans_preleg SUMP_TRANS_PRELEG proc~setup_trans->proc~sump_trans_preleg mpl_abort mpl_abort proc~abort_trans->mpl_abort sdl_srlabort sdl_srlabort proc~abort_trans->sdl_srlabort sdl_traceback sdl_traceback proc~abort_trans->sdl_traceback proc~set_resol->proc~abort_trans proc~init_plans_fft INIT_PLANS_FFT proc~sufft->proc~init_plans_fft proc~suleg->gstats proc~suleg->proc~abort_trans proc~suleg->proc~pre_suleg mpl_barrier mpl_barrier proc~suleg->mpl_barrier mpl_bytes mpl_bytes proc~suleg->mpl_bytes mpl_recv mpl_recv proc~suleg->mpl_recv mpl_send mpl_send proc~suleg->mpl_send mpl_wait mpl_wait proc~suleg->mpl_wait proc~end_pol END_POL proc~suleg->proc~end_pol proc~ini_pol INI_POL proc~suleg->proc~ini_pol proc~read_legpol READ_LEGPOL proc~suleg->proc~read_legpol proc~set2pe SET2PE proc~suleg->proc~set2pe proc~setup_geom SETUP_GEOM proc~suleg->proc~setup_geom proc~setup_seefmm setup_seefmm proc~suleg->proc~setup_seefmm proc~sugaw SUGAW proc~suleg->proc~sugaw proc~supol SUPOL proc~suleg->proc~supol proc~supolf SUPOLF proc~suleg->proc~supolf proc~sutrle SUTRLE proc~suleg->proc~sutrle proc~write_legpol WRITE_LEGPOL proc~suleg->proc~write_legpol offsets_gemm1 offsets_gemm1 proc~sump_trans->offsets_gemm1 offsets_gemm2 offsets_gemm2 proc~sump_trans->offsets_gemm2 proc~myrecvset MYRECVSET proc~sump_trans->proc~myrecvset proc~mysendset MYSENDSET proc~sump_trans->proc~mysendset proc~sumplat SUMPLAT proc~sump_trans->proc~sumplat proc~sumplatf SUMPLATF proc~sump_trans->proc~sumplatf proc~sustaonl SUSTAONL proc~sump_trans->proc~sustaonl proc~suwavedi SUWAVEDI proc~sump_trans_preleg->proc~suwavedi proc~myrecvset->proc~abort_trans proc~mysendset->proc~abort_trans proc~read_legpol->proc~abort_trans bytes_io_close bytes_io_close proc~read_legpol->bytes_io_close bytes_io_open bytes_io_open proc~read_legpol->bytes_io_open bytes_io_read bytes_io_read proc~read_legpol->bytes_io_read interface~sharedmem_associate SHAREDMEM_ASSOCIATE proc~read_legpol->interface~sharedmem_associate proc~set2pe->proc~abort_trans abor1 abor1 proc~set2pe->abor1 proc~comb_xy comb_xy proc~setup_seefmm->proc~comb_xy proc~prepotf prepotf proc~setup_seefmm->proc~prepotf proc~suquad suquad proc~setup_seefmm->proc~suquad proc~sugaw->gstats proc~sugaw->proc~abort_trans proc~sugaw->proc~supolf proc~gawl GAWL proc~sugaw->proc~gawl proc~sumplat->proc~abort_trans proc~sumplatb SUMPLATB proc~sumplat->proc~sumplatb proc~sumplatbeq SUMPLATBEQ proc~sumplat->proc~sumplatbeq proc~sumplatf->proc~sumplatb proc~sustaonl->gstats proc~sustaonl->proc~abort_trans proc~sustaonl->mpl_recv proc~sustaonl->mpl_send proc~sustaonl->proc~set2pe gstats_barrier gstats_barrier proc~sustaonl->gstats_barrier gstats_barrier2 gstats_barrier2 proc~sustaonl->gstats_barrier2 mpl_allgatherv mpl_allgatherv proc~sustaonl->mpl_allgatherv proc~sutrle->gstats proc~sutrle->mpl_barrier proc~sutrle->mpl_recv proc~sutrle->mpl_send proc~sutrle->mpl_wait proc~sutrle->proc~set2pe mpl_allreduce mpl_allreduce proc~sutrle->mpl_allreduce proc~write_legpol->proc~abort_trans proc~write_legpol->bytes_io_close proc~write_legpol->bytes_io_open bytes_io_write bytes_io_write proc~write_legpol->bytes_io_write keysort keysort proc~comb_xy->keysort proc~cpledn CPLEDN proc~gawl->proc~cpledn proc~sumplatbeq->proc~abort_trans proc~wts500 WTS500 proc~suquad->proc~wts500 proc~wts500->abor1