- Changes for LAXlib

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12058 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
ccavazzoni 2016-01-23 20:06:52 +00:00
parent b543af9416
commit 7f91e36265
4 changed files with 45 additions and 38 deletions

View File

@ -3,7 +3,7 @@
include ../../make.sys
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../Modules $(MOD_FLAG).
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../Modules $(MOD_FLAG).
IFLAGS=
FOBJS = \
@ -118,21 +118,22 @@ entropy.o
QEMODS=../../Modules/libqemod.a
QEFFT=../../FFTXlib/libqefft.a
QELA=../../LAXlib/libqela.a
TLDEPS= bindir fftlib mods libs libiotk
LIBOBJS= ../../flib/ptools.a ../../flib/flib.a ../../clib/clib.a ../../iotk/src/libiotk.a
LIBOBJS= ../../flib/flib.a ../../clib/clib.a ../../iotk/src/libiotk.a
all : tldeps libcp.a manycp.x cp.x cppp.x wfdd.x
manycp.x : manycp.o libcp.a $(QEMODS) $(QEFFT) $(LIBOBJS)
manycp.x : manycp.o libcp.a $(QEMODS) $(QEFFT) $(QELA) $(LIBOBJS)
$(LD) $(LDFLAGS) -o manycp.x manycp.o \
libcp.a $(QEMODS) $(QEFFT) $(LIBOBJS) $(LIBS)
libcp.a $(QEMODS) $(QEFFT) $(QELA) $(LIBOBJS) $(LIBS)
- ( cd ../../bin ; ln -fs ../CPV/src/cp.x . )
cp.x : cprstart.o libcp.a $(QEMODS) $(QEFFT) $(LIBOBJS)
cp.x : cprstart.o libcp.a $(QEMODS) $(QEFFT) $(QELA) $(LIBOBJS)
$(LD) $(LDFLAGS) -o cp.x cprstart.o \
libcp.a $(QEMODS) $(QEFFT) $(LIBOBJS) $(LIBS)
libcp.a $(QEMODS) $(QEFFT) $(QELA) $(LIBOBJS) $(LIBS)
- ( cd ../../bin ; ln -fs ../CPV/src/cp.x . )
libcp.a : $(FOBJS) $(LOBJS)
@ -145,12 +146,12 @@ cpver.h :
echo "CHARACTER(LEN=70), PARAMETER :: version_date = '"`date`"'" \
> cpver.h
cppp.x : fpmdpp.o $(QEMODS) $(QEFFT) $(LIBOBJS)
$(LD) $(LDFLAGS) -o cppp.x fpmdpp.o $(QEMODS) $(QEFFT) $(LIBOBJS) $(LIBS)
cppp.x : fpmdpp.o $(QEMODS) $(QEFFT) $(QELA) $(LIBOBJS)
$(LD) $(LDFLAGS) -o cppp.x fpmdpp.o $(QEMODS) $(QEFFT) $(QELA) $(LIBOBJS) $(LIBS)
- (cd ../../bin ; ln -fs ../CPV/src/cppp.x . )
wfdd.x : wfdd.o
$(LD) $(LDFLAGS) -o $@ wfdd.o $(QEMODS) $(QEFFT) $(LIBOBJS) $(LIBS)
$(LD) $(LDFLAGS) -o $@ wfdd.o $(QEMODS) $(QEFFT) $(QELA) $(LIBOBJS) $(LIBS)
- ( cd ../../bin ; ln -fs ../CPV/src/$@ . )
tldeps :

View File

@ -90,10 +90,12 @@
!
#ifdef __MPI
aux( : ) = (0.d0, 0.d0)
igoff = 0
!aux( : ) = (0.d0, 0.d0)
!igoff = 0
!$omp parallel do default(none) &
!$omp private( idx, igoff, ig ) &
!$omp shared( i, n, c, dffts, aux, ngw, ci, nogrp_, nlsm, nls )
DO idx = 1, 2*nogrp_ , 2
!
! This loop is executed only ONCE when NOGRP=1.
@ -108,6 +110,10 @@
!
IF ( ( idx + i - 1 ) == n ) c( : , idx + i ) = 0.0d0
igoff = ( idx - 1 )/2 * dffts%tg_nnr
aux( igoff + 1 : igoff + dffts%tg_nnr ) = (0.d0, 0.d0)
IF( idx + i - 1 <= n ) THEN
DO ig=1,ngw
aux(nlsm(ig)+igoff) = conjg( c(ig,idx+i-1) - ci * c(ig,idx+i) )
@ -115,7 +121,7 @@
END DO
END IF
igoff = igoff + dffts%tg_nnr
!igoff = igoff + dffts%tg_nnr
END DO

View File

@ -17,10 +17,10 @@ cg.o : ../../Modules/electrons_base.o
cg.o : ../../Modules/gvecw.o
cg.o : ../../Modules/io_global.o
cg.o : ../../Modules/kind.o
cg_sub.o : ../../LAXlib/la_types.o
cg_sub.o : ../../Modules/cell_base.o
cg_sub.o : ../../Modules/constants.o
cg_sub.o : ../../Modules/control_flags.o
cg_sub.o : ../../Modules/descriptors.o
cg_sub.o : ../../Modules/electrons_base.o
cg_sub.o : ../../Modules/fft_base.o
cg_sub.o : ../../Modules/gvecw.o
@ -43,10 +43,11 @@ cg_sub.o : mainvar.o
cg_sub.o : modules.o
cg_sub.o : ortho_base.o
cg_sub.o : smallbox_gvec.o
cglib.o : ../../LAXlib/dspev_drv.o
cglib.o : ../../LAXlib/la_types.o
cglib.o : ../../LAXlib/ptoolkit.o
cglib.o : ../../Modules/cell_base.o
cglib.o : ../../Modules/constants.o
cglib.o : ../../Modules/descriptors.o
cglib.o : ../../Modules/dspev_drv.o
cglib.o : ../../Modules/electrons_base.o
cglib.o : ../../Modules/gvecw.o
cglib.o : ../../Modules/io_global.o
@ -54,7 +55,6 @@ cglib.o : ../../Modules/ions_base.o
cglib.o : ../../Modules/kind.o
cglib.o : ../../Modules/mp.o
cglib.o : ../../Modules/mp_global.o
cglib.o : ../../Modules/ptoolkit.o
cglib.o : ../../Modules/recvec.o
cglib.o : ../../Modules/uspp.o
cglib.o : cp_interfaces.o
@ -103,7 +103,7 @@ cp_autopilot.o : cp_emass.o
cp_autopilot.o : ions_nose.o
cp_emass.o : ../../Modules/control_flags.o
cp_emass.o : ../../Modules/kind.o
cp_interfaces.o : ../../Modules/descriptors.o
cp_interfaces.o : ../../LAXlib/la_types.o
cp_interfaces.o : ../../Modules/fft_base.o
cp_interfaces.o : ../../Modules/ions_base.o
cp_interfaces.o : ../../Modules/kind.o
@ -145,12 +145,12 @@ cp_restart.o : ldaU_cp.o
cp_restart.o : mainvar.o
cp_restart.o : wannier_base.o
cplib.o : ../../FFTXlib/fft_interfaces.o
cplib.o : ../../LAXlib/la_types.o
cplib.o : ../../Modules/atom.o
cplib.o : ../../Modules/cell_base.o
cplib.o : ../../Modules/constants.o
cplib.o : ../../Modules/constraints_module.o
cplib.o : ../../Modules/control_flags.o
cplib.o : ../../Modules/descriptors.o
cplib.o : ../../Modules/electrons_base.o
cplib.o : ../../Modules/fft_base.o
cplib.o : ../../Modules/funct.o
@ -286,9 +286,9 @@ efield.o : ../../Modules/io_global.o
efield.o : ../../Modules/kind.o
efield.o : ../../Modules/uspp.o
efield.o : ions_positions.o
eigs0.o : ../../LAXlib/dspev_drv.o
eigs0.o : ../../LAXlib/la_types.o
eigs0.o : ../../Modules/constants.o
eigs0.o : ../../Modules/descriptors.o
eigs0.o : ../../Modules/dspev_drv.o
eigs0.o : ../../Modules/electrons_base.o
eigs0.o : ../../Modules/io_global.o
eigs0.o : ../../Modules/kind.o
@ -297,8 +297,8 @@ eigs0.o : ../../Modules/mp_global.o
eigs0.o : electrons.o
eigs0.o : ensemble_dft.o
eigs0.o : sic.o
electrons.o : ../../LAXlib/dspev_drv.o
electrons.o : ../../Modules/constants.o
electrons.o : ../../Modules/dspev_drv.o
electrons.o : ../../Modules/electrons_base.o
electrons.o : ../../Modules/io_global.o
electrons.o : ../../Modules/kind.o
@ -312,7 +312,7 @@ electrons_nose.o : ../../Modules/kind.o
energies.o : ../../Modules/funct.o
energies.o : ../../Modules/io_global.o
energies.o : ../../Modules/kind.o
ensemble_dft.o : ../../Modules/descriptors.o
ensemble_dft.o : ../../LAXlib/la_types.o
ensemble_dft.o : ../../Modules/io_global.o
ensemble_dft.o : ../../Modules/kind.o
entropy.o : ../../Modules/kind.o
@ -562,9 +562,9 @@ init_run.o : smallbox_gvec.o
init_run.o : wannier.o
init_run.o : wannier_base.o
init_run.o : wave_types.o
inner_loop_cold.o : ../../LAXlib/dspev_drv.o
inner_loop_cold.o : ../../LAXlib/la_types.o
inner_loop_cold.o : ../../Modules/cell_base.o
inner_loop_cold.o : ../../Modules/descriptors.o
inner_loop_cold.o : ../../Modules/dspev_drv.o
inner_loop_cold.o : ../../Modules/electrons_base.o
inner_loop_cold.o : ../../Modules/fft_base.o
inner_loop_cold.o : ../../Modules/gvecw.o
@ -636,11 +636,11 @@ ksstates.o : ../../Modules/kind.o
ksstates.o : ../../Modules/mp.o
ksstates.o : ../../Modules/mp_global.o
ksstates.o : ../../Modules/xml_io_base.o
ldaU.o : ../../LAXlib/dspev_drv.o
ldaU.o : ../../Modules/atom.o
ldaU.o : ../../Modules/cell_base.o
ldaU.o : ../../Modules/constants.o
ldaU.o : ../../Modules/control_flags.o
ldaU.o : ../../Modules/dspev_drv.o
ldaU.o : ../../Modules/electrons_base.o
ldaU.o : ../../Modules/gvecw.o
ldaU.o : ../../Modules/io_global.o
@ -658,15 +658,15 @@ ldaU.o : ldaUpen.o
ldaU_cp.o : ../../Modules/constants.o
ldaU_cp.o : ../../Modules/kind.o
ldaU_cp.o : ../../Modules/parameters.o
ldaUpen.o : ../../LAXlib/dspev_drv.o
ldaUpen.o : ../../Modules/constants.o
ldaUpen.o : ../../Modules/dspev_drv.o
ldaUpen.o : ../../Modules/electrons_base.o
ldaUpen.o : ../../Modules/gvecw.o
ldaUpen.o : ../../Modules/ions_base.o
ldaUpen.o : ../../Modules/kind.o
ldaUpen.o : ldaU_cp.o
mainvar.o : ../../LAXlib/la_types.o
mainvar.o : ../../Modules/cell_base.o
mainvar.o : ../../Modules/descriptors.o
mainvar.o : ../../Modules/funct.o
mainvar.o : ../../Modules/kind.o
mainvar.o : ../../Modules/mp.o
@ -736,10 +736,10 @@ newd.o : ../../Modules/uspp.o
newd.o : modules.o
newd.o : smallbox.o
newd.o : smallbox_gvec.o
nl_base.o : ../../LAXlib/la_types.o
nl_base.o : ../../Modules/cell_base.o
nl_base.o : ../../Modules/constants.o
nl_base.o : ../../Modules/control_flags.o
nl_base.o : ../../Modules/descriptors.o
nl_base.o : ../../Modules/electrons_base.o
nl_base.o : ../../Modules/gvecw.o
nl_base.o : ../../Modules/io_global.o
@ -769,8 +769,8 @@ nlcc.o : pseudopot.o
nlcc.o : smallbox.o
nlcc.o : smallbox_gvec.o
nlcc.o : spline.o
ortho.o : ../../LAXlib/la_types.o
ortho.o : ../../Modules/control_flags.o
ortho.o : ../../Modules/descriptors.o
ortho.o : ../../Modules/electrons_base.o
ortho.o : ../../Modules/gvecw.o
ortho.o : ../../Modules/io_global.o
@ -781,10 +781,11 @@ ortho.o : ../../Modules/mp_global.o
ortho.o : ../../Modules/uspp.o
ortho.o : cp_interfaces.o
ortho.o : ortho_base.o
ortho_base.o : ../../LAXlib/dspev_drv.o
ortho_base.o : ../../LAXlib/la_types.o
ortho_base.o : ../../LAXlib/ptoolkit.o
ortho_base.o : ../../Modules/constants.o
ortho_base.o : ../../Modules/control_flags.o
ortho_base.o : ../../Modules/descriptors.o
ortho_base.o : ../../Modules/dspev_drv.o
ortho_base.o : ../../Modules/electrons_base.o
ortho_base.o : ../../Modules/gvecw.o
ortho_base.o : ../../Modules/io_global.o
@ -794,7 +795,6 @@ ortho_base.o : ../../Modules/mp.o
ortho_base.o : ../../Modules/mp_bands.o
ortho_base.o : ../../Modules/mp_diag.o
ortho_base.o : ../../Modules/mp_global.o
ortho_base.o : ../../Modules/ptoolkit.o
ortho_base.o : ../../Modules/recvec.o
ortho_base.o : ../../Modules/uspp.o
phasefactor.o : ../../Modules/cell_base.o
@ -975,10 +975,10 @@ qqberry.o : ../../Modules/recvec.o
qqberry.o : ../../Modules/uspp.o
qqberry.o : cp_interfaces.o
qqberry.o : modules.o
restart.o : ../../LAXlib/la_types.o
restart.o : ../../Modules/autopilot.o
restart.o : ../../Modules/cell_base.o
restart.o : ../../Modules/control_flags.o
restart.o : ../../Modules/descriptors.o
restart.o : ../../Modules/electrons_base.o
restart.o : ../../Modules/gvecw.o
restart.o : ../../Modules/io_files.o
@ -1127,9 +1127,9 @@ vol_clu.o : ../../Modules/recvec.o
vol_clu.o : ions_positions.o
vol_clu.o : mainvar.o
vol_clu.o : pres_ai_mod.o
wannier.o : ../../LAXlib/la_types.o
wannier.o : ../../Modules/cell_base.o
wannier.o : ../../Modules/control_flags.o
wannier.o : ../../Modules/descriptors.o
wannier.o : ../../Modules/electrons_base.o
wannier.o : ../../Modules/fft_base.o
wannier.o : ../../Modules/gvecw.o
@ -1144,7 +1144,7 @@ wannier.o : modules.o
wannier.o : printout_base.o
wannier.o : wannier_base.o
wannier_base.o : ../../Modules/kind.o
wave.o : ../../Modules/dspev_drv.o
wave.o : ../../LAXlib/dspev_drv.o
wave.o : ../../Modules/electrons_base.o
wave.o : ../../Modules/gvecw.o
wave.o : ../../Modules/io_global.o

View File

@ -93,7 +93,7 @@ SUBROUTINE diagonalize_parallel( n, rhos, rhod, s, desc )
USE descriptors
#ifdef __SCALAPACK
USE mp_global, ONLY: ortho_cntx
USE mp_global, ONLY: ortho_cntx, ortho_comm
USE dspev_module, ONLY: pdsyevd_drv
#endif
@ -122,7 +122,7 @@ SUBROUTINE diagonalize_parallel( n, rhos, rhod, s, desc )
s = rhos
!
#ifdef __SCALAPACK
CALL pdsyevd_drv( .true. , n, desc%nrcx, s, SIZE(s,1), rhod, ortho_cntx )
CALL pdsyevd_drv( .true. , n, desc%nrcx, s, SIZE(s,1), rhod, ortho_cntx, ortho_comm )
#else
CALL qe_pdsyevd( .true., n, desc, s, SIZE(s,1), rhod )
#endif