Re: Struggling with the compilation of NAMD 2.6 on a PBS Cluster with LAM/MPI

From: Axel Kohlmeyer (akohlmey_at_cmm.chem.upenn.edu)
Date: Wed Aug 27 2008 - 12:12:00 CDT

On Wed, 27 Aug 2008, Frank Thommen wrote:

FT> Hi,
FT>
FT> I'm currently trying to build NAMD 2.6 on a PBS cluster with "built-in"
FT> LAM/MPI.
FT>
FT> First of all: Do I understand correctly, that none the binary distributions
FT> of NAMD 2.6 (as listed on
FT> http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD)
FT> is built with MPI support (and possible for x86_64 architecture)?

MPI setups are _very_ cluster specific (this is lifted to a large degree
by OpenMPI, but not that many people use OpenMPI), so it would be next
to impossible to have precompiled executables that work for a specific
MPI installation.

FT> Then...
FT>
FT>
FT> First problem
FT> -------------
FT>
FT> The first problem appears with charm 5.9. After having built it with
FT> `./build charm++ mpi-linux-amd64 --no-shared -O -DCMK_OPTIMIZE=1` I cd to
FT> 'tests/charm++/megatest/' and do `make pgm` which finishes with the
FT> following error:
FT>

[...]

FT> I would love to replace -lmpich by -lmpi but I didn't find where this option
FT> is defined.

have a look at src/arch/mpi-linux-amd64/conv-mach.sh

FT> Second problem
FT> --------------
FT>
FT> I decided to ignore that and went on to build NAMD. Edited Make.charm,
FT> arch/Linux-amd64.fftw and arch/Linux-amd64.tcl, did `./config tcl fftw
FT> Linux-amd64-MPI` and `make` in Linux-amd64-MPI, which results in the
FT> following errors:
FT>
FT> # make
FT> [... output shortened...]
FT> [xsoft_at_clnode154 Linux-amd64-MPI]$ make
FT> g++
FT> -I/usr/struct/pack/namd2_mpi-2.0.6/SRC/NAMD_2.6_Source/charm-5.9/mpi-linux-amd64/include
FT> -DCMK_OPTIMIZE=1 -Isrc -Iinc -Iplugins/include -I/usr/include
FT> -I/home/xsoft/tcl/include -DNAMD_TCL -I/usr/struct/pack/fftw-3.1.2/include
FT> -I/home/xsoft/fftw/include -DNAMD_FFTW -DNAMD_VERSION=\"2.6\"
FT> -DNAMD_PLATFORM=\"Linux-amd64-MPI\" -O3 -m64 -fexpensive-optimizations
FT> -ffast-math -o obj/ComputePme.o -c src/ComputePme.C
FT> src/ComputePme.C:12:19: sfftw.h: No such file or directory
FT> src/ComputePme.C:13:20: srfftw.h: No such file or directory
FT> [...removed lots and lots of collateral errors...]
FT> #
FT>
FT> In fact /usr/struct/pack/fftw-3.1.2/include contains only fftw3.f and
FT> fftw3.h and /usr/struct/pack/fftw-3.1.2/lib64 contains:

namd requires FFTW version 2 (which is incompatible to version 3
but still provides comparable performance) and the single precision
version compiled with --enable-version-prefix.

cheers,
   axel.

FT>
FT> # ls /usr/struct/pack/fftw-3.1.2/lib64
FT> libfftw3.a libfftw3f.so libfftw3.la libfftw3.so.3.1.2
FT> libfftw3f.a libfftw3f.so.3 libfftw3.so pkgconfig
FT> libfftw3f.la libfftw3f.so.3.1.2 libfftw3.so.3
FT> #
FT>
FT>
FT> No sfftw* or libsfftw* whatsover. This is a fresh FFTW-build from source.
FT>
FT>
FT> Any ideas or thoughts how to solve or work around any of the two problems?
FT> All hints are welcome.
FT>
FT>
FT> Thanks
FT>
FT> frank
FT>
FT>

-- 
=======================================================================
Axel Kohlmeyer   akohlmey_at_cmm.chem.upenn.edu   http://www.cmm.upenn.edu
   Center for Molecular Modeling   --   University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582,  fax: 1-215-573-6233,  office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:49:46 CST