- distribute bec type across processor

only when memory = 'small'


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9202 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
ccavazzoni 2012-07-19 16:33:04 +00:00
parent 30e85de960
commit 833328bad5
2 changed files with 12 additions and 6 deletions

View File

@ -15,7 +15,7 @@ MODULE becmod
! ... or betapsi(i,s,j)= <beta(i)|psi(s,j)> (s=polarization index)
!
USE kinds, ONLY : DP
USE control_flags, ONLY : gamma_only
USE control_flags, ONLY : gamma_only, smallmem
USE gvect, ONLY : gstart
USE noncollin_module, ONLY : noncolin, npol
!
@ -348,8 +348,7 @@ CONTAINS
bec%nbnd_loc = nbnd
bec%ibnd_begin = 1
!
#ifdef __SCALAPACK
IF( PRESENT( comm ) .AND. gamma_only ) THEN
IF( PRESENT( comm ) .AND. gamma_only .AND. smallmem ) THEN
bec%comm = comm
bec%nproc = mp_size( comm )
IF( bec%nproc > 1 ) THEN
@ -360,7 +359,7 @@ CONTAINS
bec%ibnd_begin = gind_block( 1, becp%nbnd, bec%nproc, bec%mype )
END IF
END IF
#endif
!
IF ( gamma_only ) THEN
!
ALLOCATE( bec%r( nkb, nbnd_siz ), STAT=ierr )

View File

@ -176,7 +176,8 @@ SUBROUTINE iosys()
ldamped, lbands, llang, &
lconstrain, restart, twfcollect, &
llondon, do_makov_payne, &
lecrpa_ => lecrpa
lecrpa_ => lecrpa, &
smallmem
USE control_flags, ONLY: scf_must_converge_ => scf_must_converge
!
USE wvfct, ONLY : nbnd_ => nbnd, &
@ -230,7 +231,7 @@ SUBROUTINE iosys()
pseudo_dir, disk_io, tefield, dipfield, lberry, &
gdir, nppstr, wf_collect,lelfield, efield, &
nberrycyc, lkpoint_dir, efield_cart, lecrpa, &
vdw_table_name
vdw_table_name, memory
#if defined __MS2
USE input_parameters, ONLY : MS2_enabled, MS2_handler
@ -505,6 +506,12 @@ SUBROUTINE iosys()
CALL errore( 'iosys', 'LSDA not available with electric field' , 1 )
ENDIF
!
! ... define memory related internal switches
!
IF( TRIM( memory ) == 'small' ) THEN
smallmem = .TRUE.
END IF
!
twfcollect = wf_collect
!
! ... Set Values for electron and bands