Hi,
I have compiled siesta-4.1-b3 in parallel on a linux RedHat machine
using intel and mpi, please see attached the arch.make file. However
when I try to run siesta, I receive the following error:
Program received signal SIGSEGV: Segmentation fault - invalid memory
reference.
Backtrace for this error:
#0 0x2BA5E96E4697
#1 0x2BA5E96E4CDE
#2 0x2BA5EACDD27F
#3 0x2BA60460FCDB
#4 0x2BA5E5ADC589
#5 0x2BA5E50E91F9
#6 0x574187 in __neighbour_MOD_mranger.constprop.1 at mneighb.f:578
#7 0x575413 in __neighbour_MOD_mneighb at mneighb.f:168
#8 0x4A84C7 in shaper_ at shaper.f:63
#9 0x4DBFD4 in __m_struct_init_MOD_struct_init at struct_init.F:207
#10 0x4DA3CC in __m_siesta_init_MOD_siesta_init at siesta_init.F:349
#11 0x409E0D in siesta at siesta.F:52
#12 0x2BA5EACC93D4
The same .FDF file runs fine with the serial compiled version.
I do appreciate if you could give me some clue of why this is
happening?
Best wishes
Marj
#my arch.make
.SUFFIXES:
.SUFFIXES: .f .F .o .a .f90 .F90
# # ifort + intel mkl + intelmpi
# #$ which ifort
# #$ which mpirun
# #$ echo $LD_LIBRARY_PATH |tr ':' '\n' |egrep '/mkl/'|head -1
#
SIESTA_ARCH=x86_64-unknown-linux-gnu--unknown
CC=mpicc
FPP=
FPP_OUTPUT=
FC=mpif90
FC_SERIAL=ifort
#
RANLIB=ranlib
SYS=nag
#
SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)
#
FFLAGS = -O2 -g -fbacktrace -fopenmp
FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DMPI
INCFLAGS= -I${MKLROOT}/include/intel64/ilp64 -I${MKLROOT}/include
#LDFLAGS= -limf -lm
#
# ##############################
# # type of linking with MKL: static
# ##############################
MKLROOT=/local/software/intel/2017u2/compilers_and_libraries_2017.2.174/linux/mkl
MKL_INC=${MKLROOT}/include
LIBS= ${MKLROOT}/lib/intel64/libmkl_blas95_ilp64.a
${MKLROOT}/lib/intel64/libmkl_lapack95_ilp64.a
${MKLROOT}/lib/intel64/libmkl_blacs_intelmpi_ilp64.a
${MKLROOT}/lib/intel64/libmkl_core.a -L${MKLROOT}/lib/intel64
-lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core
-lmkl_blacs_intelmpi_ilp64 -liomp5 -lpthread -lm -ldl -fopenmp
COMP_LIBS=
MPI_INTERFACE=libmpi_f90.a
MPI_INCLUDE=.
#
atom.o: atom.F
$(FC) $(FFLAGS_DEBUG) -c $(INCFLAGS) $(FPPFLAGS) $<
#
.F.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $<
.F90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
.f.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f) $<
.f90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90) $<