[gmx-users] gromacs 4.6.7 plumed -Segmentation fault

Szilárd Páll pall.szilard at gmail.com
Thu Oct 22 17:19:24 CEST 2015


Please keep the discussion the list!

There's a lot of information to parse here, I'll do my best, but I'm no
interpreter so I may miss/misread something. :)

Answers in-line.

Note that in the GROMACS tool set only mdrun supports MPI, so, while
typically it does not hurt, in general there is no benefit to building
everything with MPI (and there is an mdrun-only target that can be used to
build only mdrun with MPI).

On Thu, Oct 22, 2015 at 4:46 PM, Ana Marija <sokovic.anamarija at gmail.com>
wrote:

> 1) if I run it via:
> #!/bin/bash
> #PBS -N test
> #PBS -j oe
> #PBS -l walltime=01:00:00
> #PBS -l mppwidth=96
>
> source /opt/modules/default/init/bash
>
> cd $PBS_O_WORKDIR
> module swap PrgEnv-cray PrgEnv-gnu
> #export PATH=/lustre/beagle2/ams/new/gromacs/plumed-2.2.0/bin:$PATH
> #module use /lustre/beagle2/ams/new/modulefiles/
> #module load plumed/2.2.0
> export
> LD_LIBRARY_PATH=/lustre/beagle2/gro/gromacs-4.6.7/build/lib:$LD_LIBRARY_PATH
> export LD_LIBRARY_PATH=/opt/fftw/3.3.4.0/abudhabi/lib/:$LD_LIBRARY_PATH
>
> aprun -n 1 -N 1 /lustre/beagle2/ams/gro/gromacs-4.6.7/build/bin/grompp_mpi
> -f /lustre/beagle2/ruisun/MYCO/Set-1/input/grompp.mdp -c
> /lustre/beagle2/ruisun/MYCO/Set-1/input/initial.gro -p
> /lustre/beagle2/ruisun/MYCO/Set-1/input/topol.top -n
> /lustre/beagle2/ruisun/MYCO/Set-1/input/index.ndx -o ttmeta1.tpr
>
> .tpr file is never generated instead I am gettig: core file
> and in output file I have this error:
> Back Off! I just backed up mdout.mdp to ./#mdout.mdp.1#
> _pmiu_daemon(SIGCHLD): [NID 00389] [c7-0c0s2n1] [Wed Oct 21 13:05:44 2015]
> PE RANK 0 exit signal Segmentation fault
>

I doubt it's possible to tell why grompp segfaults and how to fix it (not
without a backtrace or repro and further analysis). On our Cray (an XC30
though) 4.6.7 grompp works fine on the compute nodes (also built with MPI).


Other tools do work, I just can't get this input files.
> those sym links are something I have to specify so that those libraries
> can be found on our machine
>

Note that unless a user does something really exotic, there is little need
for optimized BLAS/LAPACK libs (and there's intermal fallback code), but of
course most of the time linking against libblas/liblapack won't hurt.


> I am not sure I understand this:
> "just use CC=gcc CXX=g++ or -DCMAKE_C_COMPILER=$(which gcc)
> -DCMAKE_CXX_COMPILER=$(which g++) to get tools that you can run on the
> login node."
>
> I did: export CC=gcc CXX=g++
> before running grompp on login nodes via;
> /lustre/beagle2/ams/gro/gromacs-4.6.7/build/bin/grompp_mpi -f
> /lustre/beagle2/ruisun/MYCO/Set-1/input/grompp.mdp -c
> /lustre/beagle2/ruisun/MYCO/Set-1/input/initial.gro -p
> /lustre/beagle2/ruisun/MYCO/Set-1/input/topol.top -n
> /lustre/beagle2/ruisun/MYCO/Set-1/input/index.ndx -o ttmeta1.tpr
> and got Illegal instruction again
>
> so the problem is that I have in my
> /lustre/beagle2/ams/gro/gromacs-4.6.7/build/bin/ only grompp_mpi and that
> can't run on login nodes
>
> did you mean I should do something different?
>

Yes, I did. You should use the regular C/C++ compiler to build programs
that will run on the login node. So i was suggesting to reconfigure and
compile using
CC=gcc CXX=g++ cmake -DGMX_MPI=OFF [...] && make
Depending on how the login nodes are configured you may also need to tweak
the the instructions enabled, in particular, you _may_ have to
set GMX_USE_RDTSCP=OFF at configure time.

Let me know how that worked.

Cheers,
--
Szilárd



> On Thu, Oct 22, 2015 at 9:31 AM, Szilárd Páll <pall.szilard at gmail.com>
> wrote:
>
>> On Thu, Oct 22, 2015 at 4:27 PM, Ana Marija <sokovic.anamarija at gmail.com>
>> wrote:
>>
>>> if I do that that I got: Illegal Instruction error
>>> which makes sense because I compiled gromacs with cross compiler for
>>> compute nodes
>>>
>>
>> just use CC=gcc CXX=g++ or -DCMAKE_C_COMPILER=$(which gcc)
>> -DCMAKE_CXX_COMPILER=$(which g++) to get tools that you can run on the
>> login node.
>>
>>
>>>
>>> On Thu, Oct 22, 2015 at 9:23 AM, Barnett, James W <jbarnet4 at tulane.edu>
>>> wrote:
>>>
>>> > On Wed, 2015-10-21 at 10:20 -0500, Ana Marija wrote:
>>> > > Hi,
>>> > >
>>> > > I installed gromacs 4.6.7 with plumed like this:
>>> > > module swap PrgEnv-cray PrgEnv-gnu
>>> > > module load fftw/3.3.4.0
>>> > > module load cray-mpich/7.0.5
>>> > > module load gsl/1.15
>>> > > module load cmake
>>> > > #in /lustre/beagle2/ams/new/gromacs make directory lib2
>>> > >
>>> > > mkdir lib2
>>> > >
>>> > > ams at login1:/lustre/beagle2/ams/lib2>ln -s
>>> > > /opt/cray/libsci/13.0.1/GNU/49/abudhabi/lib/libsci_gnu.a libblas.a
>>> > > ams at login1:/lustre/beagle2/ams/lib2>ln -s
>>> > > /opt/cray/libsci/13.0.1/GNU/49/abudhabi/lib/libsci_gnu.a liblapack.a
>>> > >
>>> > > tar zxvf plumed-2.2.0.tgz
>>> > > cd plumed-2.2.0
>>> > >
>>> > > ./configure CC=cc CXX=CC F77=ftn
>>> > > LDFLAGS="-L/lustre/beagle2/ams/new/gromacs/lib2"
>>> > > --prefix=/lustre/beagle2/ams/new/gromacs/plumed-2.2.0 --enable-mpi
>>> > > --disable-basic-warnings --disable-openmp
>>> > >
>>> > > <strong>###Makefile.conf should look like this, if not please delete
>>> all
>>> > > extra stuff before proceeding to make step</strong>
>>> > > CC=cc
>>> > > FC=gfortran
>>> > > LDF90=gfortran
>>> > > CFLAGS=-g -O2
>>> > > CXX=CC
>>> > > CXXFLAGS=-O -fPIC
>>> > > CPPFLAGS= -DPACKAGE_NAME=\"PLUMED\" -DPACKAGE_TARNAME=\"plumed\"
>>> > > -DPACKAGE_VERSION=\"2\" -DPACKAGE_STRING=\"PLUMED\ 2\"
>>> > > -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1
>>> > > -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
>>> > > -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
>>> > -DHAVE_INTTYPES_H=1
>>> > > -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__PLUMED_HAS_MOLFILE=1
>>> > > -D__PLUMED_INTERNAL_MOLFILE_PLUGINS=1 -D__PLUMED_MPI=1
>>> > > -D__PLUMED_HAS_CLOCK_GETTIME=1 -D__PLUMED_HAS_GETTIMEOFDAY=1
>>> > > -D__PLUMED_HAS_CREGEX=1 -D__PLUMED_HAS_DLOPEN=1
>>> -D__PLUMED_HAS_EXECINFO=1
>>> > > -D__PLUMED_HAS_ZLIB=1 -DNDEBUG=1 -D_REENTRANT=1
>>> > > LDFLAGS=
>>> > > DYNAMIC_LIBS=-lstdc++ -lz -ldl  -L/lustre/beagle2/ams/groplu/lib2
>>> > > LIBS=-ldl
>>> > > SOEXT=
>>> > > LD=CC
>>> > > LDSO=CC -shared
>>> > > GCCDEP=CC
>>> > > prefix=/lustre/beagle2/ams/groplu/plumed-2.1.1
>>> > > ###
>>> > >
>>> > > make
>>> > > make install
>>> > >
>>> > > export PATH=/lustre/beagle2/ams/new/gromacs/plumed-2.2.0/bin:$PATH
>>> > >
>>> > > #1. Make a directory for modulefiles (e.g.
>>> > > /lustre/beagle2/ams/new/modulefiles/)
>>> > > #2. Copy file: cp
>>> > > /lustre/beagle2/ams/new/gromacs/plumed-2.2.0/lib/plumed/modulefile
>>> > > /lustre/beagle2/ams/new/modulefiles/plumed/2.2.0/
>>> > > #3. type "module use /lustre/beagle2/ams/new/modulefiles/"
>>> > > #4. type "module load plumed/2.2.0"
>>> > >
>>> > > export PATH=/lustre/beagle2/ams/new/gromacs/plumed-2.2.0/bin:$PATH
>>> > > module use /lustre/beagle2/ams/new/modulefiles/
>>> > > module load plumed/2.2.0
>>> > >
>>> > > ### instal gromacs 4.6.7
>>> > > wget ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.7.tar.gz
>>> > > tar zxvf gromacs-4.6.7.tar.gz
>>> > > cd gromacs-4.6.7/
>>> > > ams at login1:/lustre/beagle2/ams/new/gromacs/gromacs-4.6.7>plumed-patch
>>> -p
>>> > > --static
>>> > >
>>> > >
>>> > > PLUMED patching tool
>>> > >
>>> > > 1) amber14        3) gromacs-4.6.7    5) lammps-6Apr13    7) namd-2.9
>>> > > 2) gromacs-4.5.5    4) gromacs-5.0    6) namd-2.8        8)
>>> > qespresso-5.0.2
>>> > >
>>> > > Choose the best matching code/version:3
>>> > >
>>> > > mkdir build
>>> > > cd build
>>> > >
>>> > >
>>> > > export BUILD_WITH_INSTALL_RPATH=TRUE
>>> > > export INSTALL_RPATH=""
>>> > > export SKIP_BUILD_RPATH=TRUE
>>> > > export
>>> > >
>>> >
>>> CMAKE_LIBRARY_PATH="/lustre/beagle2/ams/new/gromacs/lib:$CMAKE_LIBRARY_PATH"
>>> > >
>>> > > #in /lustre/beagle2/ams/new/gromacs make directory lib
>>> > >
>>> > > ams at login1:/lustre/beagle2/ams/new/gromacs/lib>ln -s
>>> > > /opt/cray/libsci/13.0.1/GNU/49/abudhabi/lib/libsci_gnu.a libblas.a
>>> > > ams at login1:/lustre/beagle2/ams/new/gromacs/lib>ln -s
>>> > > /opt/cray/libsci/13.0.1/GNU/49/abudhabi/lib/libsci_gnu.a liblapack.a
>>> > >
>>> > >
>>> > > cmake ../ -DFFTWF_INCLUDE_DIR=/opt/fftw/3.3.4.0/abudhabi/include
>>> > > -DFFTWF_LIBRARY=/opt/fftw/3.3.4.0/abudhabi/lib/libfftw3f.a
>>> > > -DMPI_LIBRARY="/opt/cray/mpt/7.0.5/gni/mpich2-
>>> > > gnu/49/lib/libmpich.a;/opt/cray/mpt/7.0.5/gni/mpich2-
>>> > > gnu/49/lib/libfmpich_gnu_49.a;/opt/cray/mpt/7.0.5/gni/mpich2-
>>> > >
>>> >
>>> gnu/49/lib/libmpl.a;/opt/cray/pmi/default/lib64/libpmi.a;/opt/cray/rca/default
>>> > >
>>> >
>>> /lib64/librca.a;/opt/gcc/4.9.1/snos/lib64/libgfortran.a;/opt/gcc/4.9.1/snos/li
>>> > >
>>> >
>>> b64/libstdc++.a;/opt/cray/alps/default/lib64/libalpslli.a;/opt/cray/alps/defau
>>> > >
>>> >
>>> lt/lib64/libalpsutil.a;/opt/gcc/4.9.1/snos/lib64/libgomp.a;/opt/gcc/4.9.1/snos
>>> > >
>>> >
>>> /lib64/libquadmath.a;/opt/cray/ugni/default/lib64/libugni.a;/opt/cray/udreg/de
>>> > >
>>> >
>>> fault/lib64/libudreg.a;/opt/cray/xpmem/default/lib64/libxpmem.a;/opt/cray/wlm_
>>> > > detect/default/lib64/libwlm_detect.a;/lib64/libdl.so.2"
>>> > > -DMPI_INCLUDE_PATH="/opt/cray/mpt/7.0.5/gni/mpich2-gnu/49/include"
>>> > > -DCMAKE_CXX_COMPILER=CC -DCMAKE_C_COMPILER=cc -DGMX_FORCE_CXX=ON
>>> > > -DGMX_DOUBLE=OFF -DGMX_PREFER_STATIC_LIBS=ON -DGMX_GPU=OFF
>>> -DGMX_MPI=ON
>>> > >
>>> >
>>> -DCMAKE_INSTALL_PREFIX=/lustre/beagle2/ams/new/gromacs/gromacs-4.6.7/build
>>> > > -DGMX_X11=OFF
>>> > -DGMX_BLAS_USER=/lustre/beagle2/ams/new/gromacs/lib/libblas.a
>>> > > -DGMX_LAPACK_USER=/lustre/beagle2/ams/new/gromacs/lib/liblapack.a
>>> > > -DCMAKE_SKIP_RPATH=ON
>>> > >
>>> > >
>>> > > make
>>> > > make install
>>> > >
>>> > > I am getting Segmentation error if I run it like this:
>>> > >
>>> > > #!/bin/bash
>>> > > #PBS -N test
>>> > > #PBS -j oe
>>> > > #PBS -l walltime=01:00:00
>>> > > #PBS -l mppwidth=96
>>> > >
>>> > > source /opt/modules/default/init/bash
>>> > >
>>> > > cd $PBS_O_WORKDIR
>>> > > module swap PrgEnv-cray PrgEnv-gnu
>>> > > export PATH=/lustre/beagle2/ams/new/gromacs/plumed-2.2.0/bin:$PATH
>>> > > module use /lustre/beagle2/ams/new/modulefiles/
>>> > > module load plumed/2.2.0
>>> > > export
>>> > > LD_LIBRARY_PATH=/lustre/beagle2/ams/new/gromacs/gromacs-
>>> > > 4.6.7/build/lib:$LD_LIBRARY_PATH
>>> > > export LD_LIBRARY_PATH=/opt/fftw/
>>> 3.3.4.0/abudhabi/lib/:$LD_LIBRARY_PATH
>>> > >
>>> > > aprun -n 1 -N 1
>>> > > /lustre/beagle2/gro/gromacs/gromacs-4.6.7/build/bin/grompp_mpi -f
>>> > > /lustre/beagle2/ruisun/MYCO/Set-1/input/grompp.mdp -c
>>> > > /lustre/beagle2/ruisun/MYCO/Set-1/input/initial.gro -p
>>> > > /lustre/beagle2/ruisun/MYCO/Set-1/input/topol.top -n
>>> > > /lustre/beagle2/ruisun/MYCO/Set-1/input/index.ndx -o ttmeta1.tpr
>>> > >
>>> > > The same error happens if I install gromacs without plumed.
>>> >
>>> > So it's not an issue with plumed.
>>> >
>>> > >
>>> > > Can somebody please advise me what to do here?
>>> >
>>> > Have you tried running grompp without using aprun (you would benefit
>>> doing
>>> > this
>>> > in an interactive session to see the output right away)?
>>> >
>>> > >
>>> > > Thanks
>>> > > Ana
>>> >
>>> >
>>> >
>>> > --
>>> > James "Wes" Barnett, Ph.D. Candidate
>>> > Louisiana Board of Regents Fellow
>>> >
>>> > Chemical and Biomolecular Engineering
>>> > Tulane University
>>> > 341-B Lindy Boggs Center for Energy and Biotechnology
>>> > 6823 St. Charles Ave
>>> > New Orleans, Louisiana 70118-5674
>>> > jbarnet4 at tulane.edu
>>> > --
>>> > Gromacs Users mailing list
>>> >
>>> > * Please search the archive at
>>> > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
>>> > posting!
>>> >
>>> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>> >
>>> > * For (un)subscribe requests visit
>>> > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
>>> > send a mail to gmx-users-request at gromacs.org.
>>> --
>>> Gromacs Users mailing list
>>>
>>> * Please search the archive at
>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
>>> posting!
>>>
>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>
>>> * For (un)subscribe requests visit
>>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
>>> send a mail to gmx-users-request at gromacs.org.
>>>
>>
>>
>


More information about the gromacs.org_gmx-users mailing list