<div dir="ltr">Dear PWscf users,<br><br>We are having problems to run Quantum espresso 4.3.2 compiled with scalapack on Blue Gene/P system. <br>It seems the code is not feeding a positive definite matrix to scalapack funtion. The makefile is as attached.<br>
The version compiled without scalapack is working fine though, using the same input data.<br> <br>Here is the error message:<br> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br>     from  rdiaghg  : error #         1<br>
      problems computing cholesky positive<br> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br><br>The following is the make.sys file with scalapack. <br>Is this problem related to our configuration or to scalapack install on our Blue Gene/P system?<br>
Would you please help me to solve this problem? Thank you in advance.<br><br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br># make.sys.  Generated from <a href="http://make.sys.in">make.sys.in</a> by configure.<br>
<br># compilation rules<br><br>.SUFFIXES :<br>.SUFFIXES : .o .c .f .f90<br><br># most fortran compilers can directly preprocess c-like directives: use<br>#     $(MPIF90) $(F90FLAGS) -c $<<br># if explicit preprocessing by the C preprocessor is needed, use:<br>
#     $(CPP) $(CPPFLAGS) $< -o $*.F90 <br>#    $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o<br># remember the tabulator in the first column !!!<br><br>.f90.o:<br>    $(MPIF90) $(F90FLAGS) -c $<<br><br># .f.o and .c.o: do not modify<br>
<br>.f.o:<br>    $(F77) $(FFLAGS) -c $<<br><br>.c.o:<br>    $(CC) $(CFLAGS)  -c $<<br><br><br># DFLAGS  = precompilation options (possible arguments to -D and -U)<br>#           used by the C compiler and preprocessor<br>
# FDFLAGS = as DFLAGS, for the f90 compiler<br># See include/defs.h.README for a list of options and their meaning<br># With the exception of IBM xlf, FDFLAGS = $(DFLAGS)<br># For IBM xlf, FDFLAGS is the same as DFLAGS with separating commas <br>
<br>DFLAGS         = -D__MASS -D__AIX -D__XLF -D__LINUX_ESSL -D__MPI -D__PARA -D__SCALAPACK -D__FFTW<br>FDFLAGS        = -D__MASS,-D__AIX,-D__XLF,-D__LINUX_ESSL,-D__MPI,-D__PARA,-D__SCALAPACK,-D__FFTW<br><br><br># IFLAGS = how to locate directories where files to be included are<br>
# In most cases, IFLAGS = -I../include<br><br>IFLAGS         = -I../include<br><br># MOD_FLAGS = flag used by f90 compiler to locate modules<br># Each Makefile defines the list of needed modules in MODFLAGS<br><br>MOD_FLAG      = -I<br>
<br># Compilers: fortran-90, fortran-77, C<br># If a parallel compilation is desired, MPIF90 should be a fortran-90 <br># compiler that produces executables for parallel execution using MPI<br># (such as for instance mpif90, mpf90, mpxlf90,...);<br>
# otherwise, an ordinary fortran-90 compiler (f90, g95, xlf90, ifort,...)<br># If you have a parallel machine but no suitable candidate for MPIF90,<br># try to specify the directory containing "mpif.h" in IFLAGS<br>
# and to specify the location of MPI libraries in MPI_LIBS<br><br>MPIF90         = mpixlf90_r<br>#F90           = bgxlf90_r<br>CC             = bgxlc_r<br>F77            = bgxlf_r<br><br># C preprocessor and preprocessing flags - for explicit preprocessing, <br>
# if needed (see the compilation rules above)<br># preprocessing flags must include DFLAGS and IFLAGS<br><br>CPP            = cpp<br>CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)<br><br># compiler flags: C, F90, F77<br>
# C flags must include DFLAGS and IFLAGS<br># F90 flags must include MODFLAGS, IFLAGS, and FDFLAGS with appropriate syntax<br><br>CFLAGS         = -qarch=450d -qtune=450 -O3 $(DFLAGS) $(IFLAGS)<br>F90FLAGS       = $(FFLAGS) -qsuffix=cpp=f90 -WF,$(FDFLAGS) $(IFLAGS) $(MODFLAGS)<br>
FFLAGS         = -qarch=450d -qtune=450 -q32 -qalias=noaryovrlp:nointptr -O3 -qstrict -qdpc=e <br><br># compiler flags without optimization for fortran-77<br># the latter is NEEDED to properly compile dlamch.f, used by lapack<br>
<br>FFLAGS_NOOPT   = -q32 -O0<br><br># Linker, linker-specific flags (if any)<br># Typically LD coincides with F90 or MPIF90, LD_LIBS is empty<br><br>LD             = mpixlf90_r<br>LDFLAGS        = -q32 -Wl,--allow-multiple-definition -qextname<br>
LD_LIBS        = <br><br># External Libraries (if any) : blas, lapack, fft, MPI<br><br># If you have nothing better, use the local copy :<br># BLAS_LIBS = /your/path/to/espresso/BLAS/blas.a<br># BLAS_LIBS_SWITCH = external<br>
<br>BLAS_LIBS      = -L/opt/share/ibmmath/essl/4.4/lib/ -lesslbg<br>BLAS_LIBS_SWITCH = external<br><br># If you have nothing better, use the local copy :<br># LAPACK_LIBS = /your/path/to/espresso/LAPACK/lapack.a<br># LAPACK_LIBS_SWITCH = external<br>
<br># The following lapack libraries will be available in flib/ :<br># ../flib/lapack.a : contains all needed routines<br># ../flib/lapack_atlas.a: only routines not present in the Atlas library<br># For IBM machines with essl (-D__ESSL): load essl BEFORE lapack !<br>
# remember that LAPACK_LIBS precedes BLAS_LIBS in loading order<br><br>LAPACK_LIBS    = -L/opt/share/ibmmath/essl/4.4/lib/ -lesslbg /opt/share/math_libraries/lapack/ppc64/IBM/lapack_BGP.a /opt/share/math_libraries/lapack/ppc64/IBM/blas_BGP.a <br>
LAPACK_LIBS_SWITCH = external<br><br>SCALAPACK_LIBS = -L/opt/share/math_libraries/scalapack/ppc64/IBM/lib -lscalapack_bgp -lblacsF77init_bgp -lblacs_bgp -lblacsCinit_bgp -llapack_bgp -L/opt/share/ibmmath/essl/4.4/lib/ -lesslbg<br>
<br># nothing needed here if the the internal copy of FFTW is compiled<br># (needs -D__FFTW in DFLAGS)<br><br>FFT_LIBS       = -L/opt/share/ibmmath/essl/4.4/lib/ -lesslbg<br><br># For parallel execution, the correct path to MPI libraries must<br>
# be specified in MPI_LIBS (except for IBM if you use mpxlf)<br><br>MPI_LIBS       = <br><br># IBM-specific: MASS libraries, if available and if -D__MASS is defined in FDFLAGS<br><br>MASS_LIBS      = -L/opt/ibmcmp/xlmass/bg/4.4/bglib -lmassv <br>
<br># ar command and flags - for most architectures: AR = ar, ARFLAGS = ruv<br><br>AR             = ar<br>ARFLAGS        = ruv<br><br># ranlib command. If ranlib is not needed (it isn't in most cases) use<br># RANLIB = echo<br>
<br>RANLIB         = ranlib<br><br># all internal and external libraries - do not modify<br><br>FLIB_TARGETS   = all<br><br>LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a ../iotk/src/libiotk.a<br>LIBS           = $(SCALAPACK_LIBS) $(LAPACK_LIBS) $(FFT_LIBS) $(BLAS_LIBS) $(MPI_LIBS) $(MASS_LIBS) $(PGPLOT_LIBS) $(LD_LIBS)<br>
<br># topdir for linking espresso libs with plugins<br>TOPDIR = /home/ying/espresso<br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br clear="all">
<br>-- <br>Y. C. Cheng<br>Department of Physics<br>Nanjing University<br>Nanjing 210093<br>P. R. China<br>Tel: 86-25-83592907<br>Email: <a href="mailto:yccheng.nju@gmail.com">yccheng.nju@gmail.com</a><br>
</div>