AMBER Archive (2008)

Subject: AMBER: Problems compiling Amber with MKL

From: Sasha Buzko (obuzko_at_ucla.edu)
Date: Mon Apr 14 2008 - 14:13:23 CDT


Hi,
I've been having all kinds of problems trying to compile parallel Amber
(and PMEMD) with MKL libraries. First, the description of my setup.

1. OS: CentOS 5, uname -a: Linux abicluster 2.6.18-53.1.14.el5 #1 SMP
Tue Feb 19 07:18:46 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
2. Compilers: Intel C/C++ and ifort 10.1.012 installed in a shared
location visible to the head node and all client nodes
3. MKL libraries: version 10.0.1.014 installed under the same /opt/intel
directory tree as the compilers
4. OpenMPI 1.2.5 compiled with the above compilers (the same I'm using
for Amber) and installed in a shared location. OpenMPI installation was
tested with a simple program of a helloworld kind that used mpirun to
start processes on the local system, as well as several client nodes.
All worked fine.
5. Relevant lines from the .bashrc:

        export AMBERHOME=/data/amber9
        export MPI_HOME=/data/openmpi
        
        source /opt/intel/cce/10.1.012/bin/iccvars.sh
        source /opt/intel/fce/10.1.012/bin/ifortvars.sh
        
        PATH=/opt/intel/cce/10.1.012/bin:$PATH; export PATH
        PATH=/opt/intel/fce/10.1.012/bin:$PATH; export PATH
        
        LD_LIBRARY_PATH=$MPI_HOME/lib:$LD_LIBRARY_PATH; export
        LD_LIBRARY_PATH
        LD_LIBRARY_PATH=$MPI_HOME/include:$LD_LIBRARY_PATH; export
        LD_LIBRARY_PATH
        
        PATH=$MPI_HOME/bin:$PATH; export PATH
        PATH=$MPI_HOME/include:$PATH; export PATH
        
        export MKL_HOME=/opt/intel/mkl/10.0.1.014
        
        export DO_PARALLEL="mpirun -np 4"
        

Serial version compiles ok with or without the -static flag, but make
test.serial fails:

        cd qmmm2/2pk4; ./Run.2pk4_stan
        This test not set up for parallel, skipping
        cd amoeba_wat1; ./Run.amoeba_wat1
        
          Unit 16 Error on OPEN:
        restrt
        
          Unit 16 Error on OPEN:
        restrt
        
          Unit 16 Error on OPEN:
        restrt
          ./Run.amoeba_wat1: Program error
        make: *** [test.sander.AMOEBA] Error 1

Since my primary goal is the parallel version, I'm not overly concerned,
although it is strange.

Sequence of actions to compile parallel Amber (after patching the
source):

        [sasha_at_abicluster src]$ ./configure -opteron -openmpi
        ifort_x86_64
        AMBERHOME is set to /data/amber9
        Setting up Amber configuration file for architecture:
        ifort_x86_64
        Using parallel communications library: openmpi
        MPI_HOME is set to /data/openmpicd ../test
        MKL_HOME is set to /opt/intel/mkl/10.0.1.014
        Using MKL libraries from /opt/intel/mkl/10.0.1.014/lib/em64t
         
        The configuration file, config.h, was successfully created.

After this, I edit config.h to replace ifort with mpif90 in FC and LOAD
flags. It doesn't compile without it, and it might be useful to have a
note about it in the installation instructions.

make parallel creates the executables, but make test.parallel fails with
this error:

        [sasha_at_abicluster test]$ make test.parallel
        export TESTsander=/data/amber9/exe/sander.MPI; make
        test.sander.BASIC
        make[1]: Entering directory `/data/amber9/test'
        cd dmp; ./Run.dmp
        This test not set up for parallel
         cannot run in parallel with #residues < #pes
        cd adenine; ./Run.adenine
        This test not set up for parallel
         cannot run in parallel with #residues < #pes
        ==============================================================
        cd cytosine; ./Run.cytosine
        /data/amber9/exe/sander.MPI: error while loading shared
        libraries: libmkl_lapack.so: cannot open shared object file: No
        such file or directory
        /data/amber9/exe/sander.MPI: error while loading shared
        libraries: libmkl_lapack.so: cannot open shared object file: No
        such file or directory
        /data/amber9/exe/sander.MPI: error while loading shared
        libraries: libmkl_lapack.so: cannot open shared object file: No
        such file or directory
        /data/amber9/exe/sander.MPI: error while loading shared
        libraries: libmkl_lapack.so: cannot open shared object file: No
        such file or directory
          ./Run.cytosine: Program error
        make[1]: *** [test.sander.BASIC] Error 1
        make[1]: Leaving directory `/data/amber9/test'
        make: *** [test.sander.BASIC.MPI] Error 2

The strange thing is that libmkl_lapack.so is located in the directory
that was happily noticed by the ./configure script. Same error is thrown
when sander.MPI is attempted to run with one of the test cases from the
Amber tutorial (which is kind of expected after the test error).

Compilation with -static flag fails invariably with the following
message:

        ld: cannot find -lmpi_f90
        make[1]: *** [sander.MPI] Error 1
        make[1]: Leaving directory `/data/amber9/src/sander'
        make: *** [parallel] Error 2

Any advice would be appreciated.

Thank you

Sasha Buzko

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu