Compiling on Blue-Gene/L

Hi,

I’m trying to compile LAMMPS on a BlueGene/L system (https://www.scorec.rpi.edu/wiki/SUR_Blue_Gene).
I am facing the following problem after the compilation ends (seems to) successfully.

…(blah blah)
respa.o run.o set.o special.o thermo.o timer.o universe.o update.o variable.o velocity.o verlet.o write_restart.o
-lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts -lm -o …/lmp_sdsc1
size …/lmp_sdsc1
text data bss dec hex filename
4585066 502832 117468 5205366 4f6d76 …/lmp_sdsc1
make[1]: Leaving directory `/gpfs/gpfs0/home/pala2/lammps-9Nov11/src/Obj_sdsc1’
pala2@…3112…:~/lammps-9Nov11/src> ./lmp_sdsc1
BGLPersonality version mismatch.
Aborted
pala2@…3112…:~/lammps-9Nov11/src>

I’m at a loss at understanding the root of the problem. I thought compiling the FFTW2 libraries with the same compiler as CC would solve the problem but it did not.

Would any of you guys be kind enough to give me a lead?
The make file is given below.

Thank you,
Anirban

**** Makefile.sdsc1 *****

sdsc = SDSC BG/L machine, xlC, native MPI, FFTW

SHELL = /bin/sh
.SUFFIXES: .cpp .u

---------------------------------------------------------------------

compiler/linker settings

specify flags and libraries needed for your compiler

CC = /opt/ibmcmp/vacpp/bg/8.0/bin/blrts_xlC
CCFLAGS = -I/bgl/BlueLight/ppcfloor/bglsys/include
-O3 -qstrict
DEPFLAGS = -M
LINK = /opt/ibmcmp/vacpp/bg/8.0/bin/blrts_xlC
LINKFLAGS = -O3 -qstrict
-L/bgl/BlueLight/ppcfloor/bglsys/lib
-L/opt/ibmcmp/xlf/bg/10.1/blrts_lib
-L/opt/ibmcmp/vacpp/bg/8.0/blrts_lib
LIB = -lm
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size

---------------------------------------------------------------------

LAMMPS-specific settings

specify settings for LAMMPS features you will use

if you change any -D setting, do full re-compile after “make clean”

LAMMPS ifdef settings, OPTIONAL

see possible settings in doc/Section_start.html#2_2 (step 4)

LMP_INC = -DLAMMPS_GZIP -DLAMMPS_XDR

MPI library, REQUIRED

see discussion in doc/Section_start.html#2_2 (step 5)

can point to dummy MPI library in src/STUBS as in Makefile.serial

INC = path for mpi.h, MPI compiler settings

PATH = path for MPI library

LIB = name of MPI library

MPI_INC = -DMPICH_SKIP_MPICXX
MPI_PATH =
MPI_LIB = -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts

FFT library, OPTIONAL

see discussion in doc/Section_start.html#2_2 (step 6)

can be left blank to use provided KISS FFT library

INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings

PATH = path for FFT library

LIB = name of FFT library

FFT_INC =
FFT_INC =
FFT_LIB =

#FFT_INC = -DFFT_FFTW2 -I/gpfs/gpfs0/home/pala2/fftw2-xlC/include
#FFT_PATH = -L/gpfs/gpfs0/home/pala2/fftw2-xlC/lib
#FFT_LIB = -lfftw

JPEG library, OPTIONAL

see discussion in doc/Section_start.html#2_2 (step 7)

only needed if -DLAMMPS_JPEG listed with LMP_INC

INC = path for jpeglib.h

PATH = path for JPEG library

LIB = name of JPEG library

JPG_INC =
JPG_PATH =
JPG_LIB =

---------------------------------------------------------------------

build rules and dependencies

no need to edit this section

include Makefile.package.settings
include Makefile.package

EXTRA_INC = (LMP_INC) (PKG_INC) (MPI_INC) (FFT_INC) (JPG_INC) (PKG_SYSINC)
EXTRA_PATH = (PKG_PATH) (MPI_PATH) (FFT_PATH) (JPG_PATH) (PKG_SYSPATH) EXTRA_LIB = (PKG_LIB) (MPI_LIB) (FFT_LIB) (JPG_LIB) (PKG_SYSLIB)

Link target

(EXE): (OBJ)
(LINK) (LINKFLAGS) (EXTRA_PATH) (OBJ) (EXTRA_LIB) (LIB) -o (EXE) (SIZE) $(EXE)

Library target

lib: (OBJ) (ARCHIVE) (ARFLAGS) (EXE) $(OBJ)

Compilation rules

.o:.cpp
(CC) (CCFLAGS) (EXTRA_INC) -c <

.u:.cpp
(CC) (CCFLAGS) (EXTRA_INC) (DEPFLAGS) -c $<

Individual dependencies

DEPENDS = (OBJ:.o=.d) sinclude (DEPENDS)

Hi,

I’m trying to compile LAMMPS on a BlueGene/L system (https://www.scorec.rpi.edu/wiki/SUR_Blue_Gene).
I am facing the following problem after the compilation ends (seems to) successfully.

…(blah blah)
respa.o run.o set.o special.o thermo.o timer.o universe.o update.o variable.o velocity.o verlet.o write_restart.o
-lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts -lm -o …/lmp_sdsc1
size …/lmp_sdsc1
text data bss dec hex filename
4585066 502832 117468 5205366 4f6d76 …/lmp_sdsc1
make[1]: Leaving directory `/gpfs/gpfs0/home/pala2/lammps-9Nov11/src/Obj_sdsc1’
pala2@…3112…:~/lammps-9Nov11/src> ./lmp_sdsc1
BGLPersonality version mismatch.
Aborted
pala2@…3112…:~/lammps-9Nov11/src>

I’m at a loss at understanding the root of the problem. I thought

The root of the problem is your lack of knowledge about the blue gene architecture. It has a different type of architecture and operating system on the login node and the compute node. Your compiler is a cross compiler and thus the resulting binaries cannot be run on the node where they have

Hi,

I’m trying to compile LAMMPS on a BlueGene/L system (https://www.scorec.rpi.edu/wiki/SUR_Blue_Gene).
I am facing the following problem after the compilation ends (seems to) successfully.

…(blah blah)
respa.o run.o set.o special.o thermo.o timer.o universe.o update.o variable.o velocity.o verlet.o write_restart.o
-lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts -lm -o …/lmp_sdsc1
size …/lmp_sdsc1
text data bss dec hex filename
4585066 502832 117468 5205366 4f6d76 …/lmp_sdsc1
make[1]: Leaving directory `/gpfs/gpfs0/home/pala2/lammps-9Nov11/src/Obj_sdsc1’
pala2@…3112…:~/lammps-9Nov11/src> ./lmp_sdsc1
BGLPersonality version mismatch.
Aborted
pala2@…3112…:~/lammps-9Nov11/src>

I’m at a loss at understanding the root of the problem. I thought

The root of the problem is your lack of knowledge about the blue gene architecture. It has a different type of architecture and operating system on the login node and the compute node. Your compiler is a cross compiler and thus the resulting binaries cannot be run on the node where they have

been compiled. Talk to a local person that knows the hardware and read the documentation to understand what you are doing.

Axel