AMBER Archive (2008)

Subject: Re: AMBER: pmemd: "undefined reference to `mpi_(name-varies)'"

From: Gustavo Seabra (gustavo.seabra_at_gmail.com)
Date: Thu Apr 24 2008 - 12:51:10 CDT


Hi,

I did have some problems compiling pmemd in the past, but that was
actually related to MKL10.0 (the thread starts here:
http://structbio.vanderbilt.edu/archives/amber-archive/2008/0529.php).
Unfortunately, I have never used Scali MPI myself. However, this
question has come up before, and I believe the thread bob was
referring to was this one:
http://structbio.vanderbilt.edu/archives/amber-archive/2007/1245.php

HTH,
Gustavo.

On Thu, Apr 24, 2008 at 11:04 AM, Robert Duke <rduke_at_email.unc.edu> wrote:
> Okay, you need to use the same fortran 90 for both compiling scali and
> pmemd, which I presume you are doing, but since you are mucking with
> gfortran, and I don't, you are sort of on your own unless you want to use
> ifort. Then I believe Gustavo Seabra posted some mail to the reflector
> about compiling pmemd with scali? I did a quick search and did not find it,
> but I know it is there somewhere; maybe Gustavo will reply. I don't have
> access to scali myself, so don't support it. I don't touch gfortran because
> the whole point of pmemd is performance (I know it is getting better; still
> I would bet on ifort staying ahead of it); all that is probably going on
> here is that you either are pointing at the wrong libraries, or the linkage
> convention for "name mangling" in the compiler is not correct - and I don't
> know what latitude you have on this for gfortran. You can look at the
> "undefined reference" form and go looking for exported symbols in the scali
> mpi library, first confirming where you can find an exported symbol with
> mpi_bcast in it, and then looking at how it is decorated - this can be done
> with nm and grep pretty easily. I reiterate, gfortran is untested by me for
> both correctness and performance. It could be bad on either score, easily
> (or just fine; point is, I don't know, and you are "outside your warranty
> here" ;-)).
> Regards - Bob
> ----- Original Message ----- From: "Lachele Foley (Lists)"
> <lf.list_at_gmail.com>
> To: <amber_at_scripps.edu>
> Sent: Thursday, April 24, 2008 10:22 AM
> Subject: AMBER: pmemd: "undefined reference to `mpi_(name-varies)'"
>
>
>
>
>
> > I'm trying to compile parallel pmemd for Amber 10. The serial compile
> > goes fine.
> >
> > Short version: At the final stage ("(compiler) -o pmemd
> > gbl_constants.o (etc.)"), I get lots (>100) of variations on:
> >
> > mdin_ctrl_dat.o(.text+0xa456): In function
> > `__mdin_ctrl_dat_mod__bcast_mdin_ctrl_dat':
> > : undefined reference to `mpi_bcast_'
> >
> > Can this be made to work for us?
> >
> > More info:
> >
> > We have ScaMPI (Scali MPI). I've tried gfortran and ifort. Gfortran
> > compiles in serial just fine (and I assume ifort would, too). Both
> > have the same mpi issues in the parallel compile. I tried setting
> > -fno-second-underscore because that was indicated in the config.h for
> > parallel amber, but it didn't change anything. The parallel version
> > of Amber 10 compiles and tests fine (with some trivial and unrelated
> > exceptions). $MPI_HOME is set to /opt/scali.
> >
> > Here's the config data file I made for gfortran with ScaMPI. I got a
> > file that works with gfortran by starting with the ifort file and
> > deleting compiler options until it stopped complaining. I didn't
> > delete options from the ifort version when I tried ifort, but it
> > behaved the same WRT the mpi calls. If you need more info, just say.
> >
> >
> > > more linux_p4.gfortran.scali
> > >
> > MPI_DEFINES = -DMPI
> > MPI_INCLUDE = -I$(MPI_HOME)/include
> > MPI_LIBDIR = $(MPI_HOME)/lib
> > MPI_LIBS = -L$(MPI_LIBDIR) -lmpi -Wl -lpthread
> >
> > DIRFRC_DEFINES = -DDIRFRC_COMTRANS -DDIRFRC_EFS
> > CPP = /lib/cpp
> > CPPFLAGS = -traditional -P
> > F90_DEFINES = -DFFTLOADBAL_2PROC
> >
> > F90 = gfortran
> > MODULE_SUFFIX = mod
> > F90FLAGS = -c -fno-second-underscore
> > F90_OPT_DBG = -g -traceback
> > F90_OPT_LO = -O0
> > F90_OPT_MED = -O2
> > F90_OPT_HI = -ip -O3
> > F90_OPT_DFLT = $(F90_OPT_HI)
> >
> > CC = gcc
> > CFLAGS =
> >
> > LOAD = gfortran
> > LOADFLAGS =
> > LOADLIBS = -lmpi -Wl
> >
> >
> > Thanks!
> > --
> > :-) Lachele
> > Lachele Foley
> > CCRC/UGA
> > 2-0263
> > -----------------------------------------------------------------------
> > The AMBER Mail Reflector
> > To post, send mail to amber_at_scripps.edu
> > To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu
> >
> >
>
> -----------------------------------------------------------------------
> The AMBER Mail Reflector
> To post, send mail to amber_at_scripps.edu
> To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu
>
-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu