Well, different OS, crossed cpu and compiler, lots of untried and true stuff here that could be biting you. There may be some fundamental 32 vs 64 bit problem somewhere, though that tends to be rare for pmemd. Most likely, the wrong libraries (ie., same name, but different from different location) are getting dynamically linked - a problem I have seen with ifort before. Be sure you are following the ifort install instructions exactly, including environment setup. Ditto for setting up pmemd for the ifort on the opteron. Sometimes (but mostly on itanium) ifort does bad things in certain releases. Is another fortran compiler recommended by HP for this config? They may have hacked the system in ways that make life interesting - I have seen them do that sort of thing before. Okay, next thing to do to debug this is make the following change in your config.h, compile, and run:
change
F90_OPT_DFLT = $(F90_OPT_HI) to
F90_OPT_DFLT = $(F90_OPT_DBG)
- also modify your run environment (here shown for csh or tcsh):
setenv decfort_dump_flag Y
setenv TBK_ENABLE_VERBOSE_STACK_TRACE
You might then send me your config.h, compiler output, and run output. What does your pmemd input look like, by the way? It should not be possible to produce a segfault with any input, but it would be good to know that the input should actually run.
Regards - Bob Duke
----- Original Message -----
From: Nick Holway
To: amber.scripps.edu
Sent: Wednesday, July 30, 2008 9:50 AM
Subject: Re: AMBER: PMEND 9 compilation problems
Hi,
Thanks for the response.
Altering the MATH_LIBS line allowed it to compile. However when I try to run pmemd from the command line I get the following message:
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
pmemd 000000000045AA08 Unknown Unknown Unknown
pmemd 000000000042B173 Unknown Unknown Unknown
pmemd 0000000000451C6B Unknown Unknown Unknown
pmemd 000000000047884E Unknown Unknown Unknown
pmemd 000000000049A15B Unknown Unknown Unknown
pmemd 0000000000406BC2 Unknown Unknown Unknown
libc.so.6 0000003C46E1D8A4 Unknown Unknown Unknown
pmemd 0000000000406AE9 Unknown Unknown Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
pmemd 000000000045AA08 Unknown Unknown Unknown
pmemd 000000000042B173 Unknown Unknown Unknown
pmemd 0000000000451C6B Unknown Unknown Unknown
pmemd 0000000000478EFC Unknown Unknown Unknown
pmemd 0000000000499A53 Unknown Unknown Unknown
pmemd 0000000000406BC2 Unknown Unknown Unknown
libc.so.6 0000003C46E1D8A4 Unknown Unknown Unknown
pmemd 0000000000406AE9 Unknown Unknown Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
pmemd 000000000045AA08 Unknown Unknown Unknown
pmemd 000000000042B173 Unknown Unknown Unknown
pmemd 0000000000451C6B Unknown Unknown Unknown
pmemd 000000000047884E Unknown Unknown Unknown
pmemd 000000000049A15B Unknown Unknown Unknown
pmemd 0000000000406BC2 Unknown Unknown Unknown
libc.so.6 0000003C46E1D8A4 Unknown Unknown Unknown
pmemd 0000000000406AE9 Unknown Unknown Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
pmemd 000000000045AA08 Unknown Unknown Unknown
pmemd 000000000042B173 Unknown Unknown Unknown
pmemd 0000000000451C6B Unknown Unknown Unknown
pmemd 000000000047884E Unknown Unknown Unknown
pmemd 000000000049A15B Unknown Unknown Unknown
pmemd 0000000000406BC2 Unknown Unknown Unknown
libc.so.6 0000003C46E1D8A4 Unknown Unknown Unknown
pmemd 0000000000406AE9 Unknown Unknown Unknown
rank 3 in job 1 blade-1-9.local_50878 caused collective abort of all ranks
exit status of rank 3: return code 174
rank 1 in job 1 blade-1-9.local_50878 caused collective abort of all ranks
exit status of rank 1: return code 174
I tried downloading the latest version of ifort and MKL and also compiled pmemd without MKL but see the same message.
Googling the error message brings up this post (
http://archive.ambermd.org/200610/0267.html)
which suggests that this kind of error is caused by ifort is this likely to be the case for me too?
Thanks
Nick
2008/7/29 Robert Duke <rduke.email.unc.edu>
Hi Nick,
Two possible approaches here:
1) Simply don't use MKL (choose no math library in running pmemd configure). This is okay unless you want to do generalized Born simulations (the MKL helps for GB, but really does not matter much for anything else in pmemd).
2) Okay, if you really want the MKL for whatever reason, the problem is effectively differences in the library structure with the latest releases of the MKL (post-pmemd 9). You might try instead the static config I now ship with pmemd 10 for the MKL and the opteron (well, I have tested it on em64t). In the pmemd configure script, there is now the section:
if [ $platform = linux_p3_athlon -o \
$platform = linux_p4 ]; then
cat << EOD >> config.h
MATH_LIBS = $MKL_HOME/lib/32/libmkl_ia32.a -L$MKL_HOME/lib/32 -lguide -lpthread
EOD
elif [ $platform = linux64_opteron -o \
$platform = linux_em64t ]; then
cat << EOD >> config.h
MATH_LIBS = $MKL_HOME/lib/em64t/libmkl_em64t.a -L$MKL_HOME/lib/em64t -lguide -lpthread
EOD
elif [ $platform = sgi_altix ]; then
cat << EOD >> config.h
MATH_LIBS = $MKL_HOME/lib/64/libmkl_ipf.a -L$MKL_HOME/lib/64 -lguide -lpthread -ldl
EOD
else
echo "PMEMD Configuration Internal Error!"
echo "Unexpected platform type while configuring Intel MKL!"
echo "PMEMD Configuration Failed!"
exit 1
fi
fi
fi
So if you look at the section where platform = linux64_opteron, take the MATH_LIBS = statement, substitute in your value for $MKL_HOME, and plug that into your config.h in place of the current MATH_LIBS = statement, it will hopefully work. Tracking changes in the MKL has not been a lot of fun; hope this works without too much grief.
Best Regards - Bob Duke
----- Original Message ----- From: Nick Holway
To: amber.scripps.edu
Sent: Tuesday, July 29, 2008 12:04 PM
Subject: AMBER: PMEND 9 compilation problems
Hi,
I'm trying to compile PMEND 9 on 64 bit Rocks 5.0 (ie Centos 5.1) on the head node which is a HP BL265c blade with an Opteron 2214 CPU. I'm using the Intel ifort fortran v10 compiler with MKL 9.1. GCC is 4.1.2.
The error I'm seeing is:
ifort -o pmemd gbl_constants.o gbl_datatypes.o state_info.o file_io_dat.o parallel_dat.o mdin_ctrl_dat.o mdin_ewald_dat.o prmtop_dat.o inpcrd_dat.o dynamics_dat.o img.o parallel.o pme_direct.o pme_recip.o pme_fft.o fft1d.o bspline.o pme_force.o pbc.o nb_pairlist.o cit.o dynamics.o bonds.o angles.o dihedrals.o runmd.o loadbal.o shake.o runmin.o constraints.o axis_optimize.o gb_ene.o veclib.o gb_force.o timers.o pmemd_lib.o runfiles.o file_io.o bintraj.o pmemd_clib.o pmemd.o random.o degcnt.o erfcfun.o nmr_calls.o nmr_lib.o get_cmdline.o master_setup.o alltasks_setup.o pme_setup.o ene_frc_splines.o nextprmtop_section.o -L/usr/prog/fortran/intel/mkl/9.1//lib/em64t -lmkl_em64t -lpthread -limf -lsvml -Wl,-rpath=/usr/prog/jdk/jdk1.5.0_07/jre/lib/i386/server:/usr/prog/sge/gridengine/lib/lx26-amd64:/opt/gridengine/lib/lx26-amd64:/opt/gridengine/lib/lx26-amd64:/usr/prog/fortran/intel/x86_64/lib:/usr/prog/fortran/intel/mkl/9.1/lib/em64t:/usr/prog/eclipse/rac/lib:/usr/prog/openbabel/2.0.2/lib:/usr/prog/tripos/EAInventor_v4.3_Linux/lib
gb_ene.o: In function `gb_ene_mod_mp_calc_born_radii_':
gb_ene.f90:(.text+0x31f): undefined reference to `vdinvsqrt_'
gb_ene.f90:(.text+0x6bf): undefined reference to `vdinv_'
gb_ene.f90:(.text+0x6dc): undefined reference to `vdinv_'
gb_ene.f90:(.text+0xb21): undefined reference to `vdln_'
gb_ene.f90:(.text+0xb3e): undefined reference to `vdln_'
gb_ene.o: In function `gb_ene_mod_mp_gb_ene_':
gb_ene.f90:(.text+0x2758): undefined reference to `vdinvsqrt_'
gb_ene.f90:(.text+0x2b12): undefined reference to `vdinv_'
gb_ene.f90:(.text+0x2b2f): undefined reference to `vdinv_'
gb_ene.f90:(.text+0x2f8c): undefined reference to `vdln_'
gb_ene.f90:(.text+0x2fa9): undefined reference to `vdln_'
gb_ene.f90:(.text+0x4d5f): undefined reference to `vdinv_'
gb_ene.f90:(.text+0x4fe0): undefined reference to `vdexp_'
gb_ene.f90:(.text+0x539c): undefined reference to `vdinvsqrt_'
gb_ene.f90:(.text+0x53ce): undefined reference to `vdinv_'
gb_ene.f90:(.text+0x5531): undefined reference to `vdexp_'
gb_ene.f90:(.text+0x554b): undefined reference to `vdinvsqrt_'
gb_ene.f90:(.text+0x6229): undefined reference to `vdinvsqrt_'
gb_ene.f90:(.text+0x645d): undefined reference to `vdinv_'
gb_ene.f90:(.text+0x6476): undefined reference to `vdinv_'
gb_ene.f90:(.text+0x66a2): undefined reference to `vdln_'
make[1]: *** [pmemd] Error 1
make[1]: Leaving directory `/tmp/nick/amber9/src/pmemd/src'
make: *** [all] Error 2
This is my config.h:
MATH_DEFINES =
MATH_LIBS =
IFORT_RPATH = /usr/prog/jdk/jdk1.5.0_07/jre/lib/i386/server:/usr/prog/sge/gridengine/lib/lx26-amd64:/opt/gridengine/lib/lx26-amd64:/opt/gridengine/lib/lx26-amd64:/usr/prog/fortran/intel/x86_64/lib:/usr/prog/fortran/intel/mkl/9.1/lib/em64t:/usr/prog/eclipse/rac/lib:/usr/prog/openbabel/2.0.2/lib:/usr/prog/tripos/EAInventor_v4.3_Linux/lib
MATH_DEFINES = -DMKL
MATH_LIBS = -L/usr/prog/fortran/intel/mkl/9.1//lib/em64t -lmkl_em64t -lpthread
FFT_DEFINES = -DPUBFFT
FFT_INCLUDE =
FFT_LIBS =
NETCDF_HOME =
NETCDF_DEFINES =
NETCDF_MOD =
NETCDF_LIBS =
MPI_DEFINES =
MPI_INCLUDE =
MPI_LIBDIR =
MPI_LIBS =
DIRFRC_DEFINES = -DDIRFRC_EFS -DDIRFRC_COMTRANS -DDIRFRC_NOVEC
CPP = /lib/cpp
CPPFLAGS = -traditional -P
F90_DEFINES = -DFFTLOADBAL_2PROC
F90 = ifort
MODULE_SUFFIX = mod
F90FLAGS = -c -auto
F90_OPT_DBG = -g -traceback
F90_OPT_LO = -tpp7 -O0
F90_OPT_MED = -tpp7 -O2
F90_OPT_HI = -tpp7 -xW -ip -O3
F90_OPT_DFLT = $(F90_OPT_HI)
CC = gcc
CFLAGS =
LOAD = ifort
LOADFLAGS =
LOADLIBS = -limf -lsvml -Wl,-rpath=$(IFORT_RPATH)
Thanks in advance for any help.
Nick
-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber.scripps.edu
To unsubscribe, send "unsubscribe amber" (in the *body* of the email)
to majordomo.scripps.edu
-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber.scripps.edu
To unsubscribe, send "unsubscribe amber" (in the *body* of the email)
to majordomo.scripps.edu
Received on Sun Aug 03 2008 - 06:07:11 PDT