From 2f1d2de3c4fe8a3c9bf92a2dbacca1ec18c2af09 Mon Sep 17 00:00:00 2001 From: Pietro Bonfa Date: Tue, 16 Apr 2019 19:12:26 +0200 Subject: [PATCH] Removed temporary workaround for scratch space allocation problems --- PW/src/addusdens_gpu.f90 | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/PW/src/addusdens_gpu.f90 b/PW/src/addusdens_gpu.f90 index b4649a65c..acf548264 100644 --- a/PW/src/addusdens_gpu.f90 +++ b/PW/src/addusdens_gpu.f90 @@ -77,7 +77,7 @@ SUBROUTINE addusdens_g_gpu(rho) REAL(DP), POINTER :: qmod_d (:), ylmk0_d (:,:) ! modulus of G, spherical harmonics COMPLEX(DP), POINTER :: skk_d(:,:) - COMPLEX(DP), ALLOCATABLE :: aux2_d(:,:) + COMPLEX(DP), POINTER :: aux2_d(:,:) ! structure factors, US contribution to rho COMPLEX(DP), POINTER :: aux_d (:,:), qgm_d(:) COMPLEX(DP), POINTER :: aux_h (:,:) @@ -123,6 +123,10 @@ SUBROUTINE addusdens_g_gpu(rho) qmod_d (ig) = sqrt (gg_d (ngm_s+ig-1) ) ENDDO ! + ! Use largest size for buffer + nij = nhm*(nhm+1)/2 + CALL dev_buf%prepare_buffer(aux2_d, (/ ngm_l,nij /), ierr ) + ! DO nt = 1, ntyp IF ( upf(nt)%tvanp ) THEN ! @@ -140,7 +144,7 @@ SUBROUTINE addusdens_g_gpu(rho) !ALLOCATE ( skk_d(ngm_l,nab), tbecsum_d(nij,nab,nspin_mag), aux2_d(ngm_l,nij) ) CALL dev_buf%lock_buffer(skk_d, (/ ngm_l,nab /), ierr) CALL dev_buf%lock_buffer(tbecsum_d, (/ nij,nab,nspin_mag /), ierr ) - ALLOCATE( aux2_d(ngm_l,nij) ) ! CALL dev_buf%lock_buffer(aux2_d, (/ ngm_l,nij /), ierr ) + CALL dev_buf%lock_buffer(aux2_d, (/ ngm_l,nij /), ierr ) ! nb = 0 DO na = 1, nat @@ -184,7 +188,7 @@ SUBROUTINE addusdens_g_gpu(rho) !DEALLOCATE (aux2_d, tbecsum_d, skk_d ) CALL dev_buf%release_buffer(skk_d, ierr) CALL dev_buf%release_buffer(tbecsum_d, ierr) - DEALLOCATE (aux2_d) !CALL dev_buf%release_buffer(aux2_d, ierr) + CALL dev_buf%release_buffer(aux2_d, ierr) ENDIF ENDDO !