From 5ef89da7196c15fa2b204a1c6af124edd31cd6d0 Mon Sep 17 00:00:00 2001 From: Ahmad Nawab Date: Tue, 30 Jan 2024 10:45:47 +0000 Subject: [PATCH] Fix for v large data transfers --- field_RANKSUFF_data_module.fypp | 5 +++-- field_basic_module.F90 | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/field_RANKSUFF_data_module.fypp b/field_RANKSUFF_data_module.fypp index 7a5d7ec..5663023 100644 --- a/field_RANKSUFF_data_module.fypp +++ b/field_RANKSUFF_data_module.fypp @@ -110,11 +110,12 @@ CONTAINS #ifdef _OPENACC USE OPENACC #endif + USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : INT64 ${ft.type}$, POINTER :: HST (${ft.shape}$), DEV (${ft.shape}$) LOGICAL, INTENT (IN) :: MAP_DEVPTR INTEGER (KIND=JPIM), INTENT (IN) :: KDIR INTEGER (KIND=JPIM), OPTIONAL, INTENT (IN) :: QUEUE - INTEGER (KIND=JPIM) :: ISIZE + INTEGER (KIND=INT64) :: ISIZE INTEGER :: ${', '.join (['J'] + list (map (lambda i: 'J' + str (i+1), range (d, ft.rank))))}$ #ifdef _OPENACC TYPE(C_DEVPTR) :: DEVPTR @@ -139,7 +140,7 @@ CONTAINS #:if d == 0 ${indent}$ ISIZE = KIND (HST) #:else - ${indent}$ ISIZE = KIND (HST) * SIZE (HST (${ar}$)) + ${indent}$ ISIZE = SIZEOF (HST) #:endif ${indent}$ IF (KDIR == NH2D) THEN #ifdef _OPENACC diff --git a/field_basic_module.F90 b/field_basic_module.F90 index 97de3cf..177bec9 100644 --- a/field_basic_module.F90 +++ b/field_basic_module.F90 @@ -35,7 +35,7 @@ MODULE FIELD_BASIC_MODULE TYPE(GPU_STATS) :: STATS LOGICAL :: LOBJECT_COPIED = .FALSE. - LOGICAL :: MAP_DEVPTR = .TRUE. + LOGICAL :: MAP_DEVPTR = .FALSE. CONTAINS PROCEDURE (FIELD_BASIC_SYNC), DEFERRED :: SYNC_HOST_RDWR