LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Olof Mattsson (olof_at_[hidden])
Date: 2006-03-20 09:02:00


Hi!

We're trying to compile HPCC on our OSCAR cluster and we can compile it
if we use mpich 1.2.7 but since we use LAM/MPI on our cluster we can't
run the benchmark. We get:
HPL ERROR from process # 0, on line 440 of function HPL_pdinfo:
>>> Need at least 4 processes for these tests <<<

As far as I've understud this is because we used mpich to compile HPCC
and uses LAM/MPI to run it. But if I change the makefile to use
lam-7.0.6 instead I get this compilation error:

/lam-7.0.6/lib/libmpich.a -lm
/opt/lam-7.0.6/lib/libmpi.a(lammpiinit.o)(.bss+0x0): multiple definition
of `MPIR_being_debugged'
/opt/lam-7.0.6/lib/libmpich.a(debugutil.o)(.bss+0x0): first defined here
collect2: ld returned 1 exit status
/opt/lam-7.0.6/bin/mpif77: No such file or directory
make[1]: *** [../../../../hpcc] Error 1
make[1]: Leaving directory `/home/oscartst/hpcc-1.0.0/hpl/lib/arch/build'
make: *** [all] Error 2

The makefile we uses is this:

#
# ----------------------------------------------------------------------
# - shell --------------------------------------------------------------
# ----------------------------------------------------------------------
#
SHELL = /bin/sh
#
CD = cd
CP = cp
LN_S = ln -s
MKDIR = mkdir
RM = /bin/rm -f
TOUCH = touch
#
# ----------------------------------------------------------------------
# - Platform identifier ------------------------------------------------
# ----------------------------------------------------------------------
#
ARCH = $(arch)
#
# ----------------------------------------------------------------------
# - HPL Directory Structure / HPL library ------------------------------
# ----------------------------------------------------------------------
#
TOPdir = ../../..
INCdir = $(TOPdir)/include
BINdir = $(TOPdir)/bin/$(ARCH)
LIBdir = $(TOPdir)/lib/$(ARCH)
#
HPLlib = $(LIBdir)/libhpl.1a
#
# ----------------------------------------------------------------------
# - Message Passing library (MPI) --------------------------------------
# ----------------------------------------------------------------------
# MPinc tells the C compiler where to find the Message Passing library
# header files, MPlib is defined to be the name of the library to be
# used. The variable MPdir is only used for defining MPinc and MPlib.
#
#MPdir = /opt/lam-7.0.6
#MPinc = $(MPdir)/include
#MPlib = -lmpi -llam
MPdir = /opt/lam-7.0.6
MPinc = -I$(MPdir)/include
MPlib = $(MPdir)/lib/libmpich.a
#
# ----------------------------------------------------------------------
# - Linear Algebra library (BLAS or VSIPL) -----------------------------
# ----------------------------------------------------------------------
# LAinc tells the C compiler where to find the Linear Algebra library
# header files, LAlib is defined to be the name of the library to be
# used. The variable LAdir is only used for defining LAinc and LAlib.
#
#LAdir = /home/oscartst/ATLAS/lib/Linux_ATHLONSSE1_2
#LAinc =
#LAlib = $(LAdir)/libf77blas.a $(LAdir)/libatlas.a
LAdir = $(HOME)/netlib/ARCHIVES/Linux_PII
LAinc =
LAlib = /home/oscartst/linpack/blas_linux.a
#
# ----------------------------------------------------------------------
# - F77 / C interface --------------------------------------------------
# ----------------------------------------------------------------------
#
F2CDEFS = -DAdd__ -DF77_INTEGER=int -DStringSunStyle
#
# ----------------------------------------------------------------------
# - HPL includes / libraries / specifics -------------------------------
# ----------------------------------------------------------------------
#
HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)
HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib) -lm
#
# - Compile time options -----------------------------------------------
#
HPL_OPTS =
#
# ----------------------------------------------------------------------
#
HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
#
# ----------------------------------------------------------------------
# - Compilers / linkers - Optimization flags ---------------------------
# ----------------------------------------------------------------------
#
CC = /opt/lam-7.0.6/bin/mpicc
CCNOOPT = $(HPL_DEFS)
CCFLAGS = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops -W -Wall
#
LINKER = /opt/lam-7.0.6/bin/mpif77
LINKFLAGS = $(CCFLAGS)
#
ARCHIVER = ar
ARFLAGS = r
RANLIB = echo
#
# ----------------------------------------------------------------------

We've got the same problem when we uses just HPL. We can compile it with
mpich and then we can't run it and we can't compile it with lam-7.0.6.
At the moment are we using a precompiled blas_linux.a but we want to use
ATLAS instead. I've managed (I think) to compile ATLAS on our masternode
but that is a later project...

Regards
Olof Mattsson
University of Skövde Sweden