mirror of https://gitlab.com/QEF/q-e.git
A few more checks for memory allocation failures
This commit is contained in:
parent
7b13880f46
commit
36915a4a6d
|
@ -684,6 +684,8 @@ SUBROUTINE reorder_evals_cevecs(nbase, nvec, nvecx, conv, e_d, ew_d, v_d)
|
|||
|
||||
CALL buffer%lock_buffer(conv_idx_d, nvec, info)
|
||||
CALL buffer%lock_buffer(vtmp_d, (/nvecx, nvecx/), info)
|
||||
IF( info /= 0 ) &
|
||||
CALL errore( ' reorder_evals_cevecs ',' cannot allocate vtmp_d ', ABS(info) )
|
||||
|
||||
conv_idx_d(1:nvec) = conv_idx(1:nvec)
|
||||
|
||||
|
|
|
@ -631,6 +631,8 @@ SUBROUTINE reorder_evals_revecs(nbase, nvec, nvecx, conv, e_d, ew_d, v_d)
|
|||
|
||||
CALL buffer%lock_buffer(conv_idx_d, nvec, info)
|
||||
CALL buffer%lock_buffer(vtmp_d, (/nvecx, nvecx/), info)
|
||||
IF( info /= 0 ) &
|
||||
CALL errore( ' reorder_evals_revecs ',' cannot allocate vtmp_d ', ABS(info) )
|
||||
|
||||
conv_idx_d(1:nvec) = conv_idx(1:nvec)
|
||||
|
||||
|
|
|
@ -95,8 +95,11 @@ SUBROUTINE addusdens_g_gpu(rho)
|
|||
|
||||
CALL start_clock_gpu ('addusdens')
|
||||
!
|
||||
CALL dev_buf%lock_buffer(aux_d, (/ ngm, nspin_mag /), ierr ) !ALLOCATE (aux_d (ngm, nspin_mag) )
|
||||
CALL pin_buf%lock_buffer(aux_h, (/ ngm, nspin_mag /), ierr ) !ALLOCATE (aux_h (ngm, nspin_mag) )
|
||||
CALL dev_buf%lock_buffer(aux_d, (/ ngm, nspin_mag /), ierr ) !ALLOCATE (aux_d (ngm, nspin_mag) )
|
||||
IF( ierr /= 0 ) &
|
||||
CALL errore( ' addusdens_gpu ',' cannot allocate aux_d ', ABS(ierr) )
|
||||
|
||||
!
|
||||
CALL dev_memset(aux_d, (0.d0, 0.d0), [ 1, ngm ], 1, [ 1, nspin_mag ], 1)
|
||||
!
|
||||
|
@ -116,9 +119,11 @@ SUBROUTINE addusdens_g_gpu(rho)
|
|||
!
|
||||
!ALLOCATE (qmod_d(ngm_l), qgm_d(ngm_l) )
|
||||
!ALLOCATE (ylmk0_d(ngm_l, lmaxq * lmaxq) )
|
||||
CALL dev_buf%lock_buffer(ylmk0_d, (/ ngm_l, lmaxq * lmaxq /), ierr )
|
||||
CALL dev_buf%lock_buffer(qmod_d, ngm_l, ierr )
|
||||
CALL dev_buf%lock_buffer(qgm_d, ngm_l, ierr )
|
||||
CALL dev_buf%lock_buffer(ylmk0_d, (/ ngm_l, lmaxq * lmaxq /), ierr )
|
||||
IF( ierr /= 0 ) &
|
||||
CALL errore( ' addusdens_gpu ',' cannot allocate ylmk0_d ', ABS(ierr) )
|
||||
|
||||
CALL ylmr2_gpu (lmaxq * lmaxq, ngm_l, g_d(1,ngm_s), gg_d(ngm_s), ylmk0_d)
|
||||
|
||||
|
@ -149,6 +154,8 @@ SUBROUTINE addusdens_g_gpu(rho)
|
|||
CALL dev_buf%lock_buffer(skk_d, (/ ngm_l,nab /), ierr)
|
||||
CALL dev_buf%lock_buffer(tbecsum_d, (/ nij,nab,nspin_mag /), ierr )
|
||||
CALL dev_buf%lock_buffer(aux2_d, (/ ngm_l,nij /), ierr )
|
||||
IF( ierr /= 0 ) &
|
||||
CALL errore( ' addusdens_gpu ',' cannot allocate aux2_d ', ABS(ierr) )
|
||||
!
|
||||
call start_clock_gpu( 'addusd:skk')
|
||||
nb = 0
|
||||
|
|
|
@ -242,6 +242,8 @@ SUBROUTINE drhoc_gpu( ngl, gl_d, omega, tpiba2, mesh, r_d, rab_d, rhoc_d, rhocg_
|
|||
! lower limit for loop on ngl
|
||||
!
|
||||
CALL dev_buf%lock_buffer(aux_d, (/ mesh, ngl /), ierr) ! allocate (aux_d( mesh, ngl))
|
||||
IF( ierr /= 0 ) &
|
||||
CALL errore( ' drhoc_gpu ',' cannot allocate aux_d ', ABS(ierr) )
|
||||
!
|
||||
! G=0 and G <> 0 term done together (in the end is just an avoided bessel call and multiply by 1.0)
|
||||
!
|
||||
|
|
Loading…
Reference in New Issue