PGI and HPL benchmarking
Eswar Dev
eswardev at yahoo.com
Mon Sep 17 08:51:30 PDT 2001
Hi cozzi!
I have one built using Athlon based cluster. This is
the make file you requested for
#
----------------------------------------------------------------------
# - shell
--------------------------------------------------------------
#
----------------------------------------------------------------------
#
SHELL = /bin/sh
#
CD = cd
CP = cp
LN_S = ln -s
MKDIR = mkdir
RM = /bin/rm -f
TOUCH = touch
#
#
----------------------------------------------------------------------
# - Platform identifier
------------------------------------------------
#
----------------------------------------------------------------------
#
ARCH = Linux_ATHLON_CBLAS
#
#
----------------------------------------------------------------------
# - HPL Directory Structure / HPL library
------------------------------
#
----------------------------------------------------------------------
#
TOPdir = $(HOME)/hpl
INCdir = $(TOPdir)/include
BINdir = $(TOPdir)/bin/$(ARCH)
LIBdir = $(TOPdir)/lib/$(ARCH)
#
HPLlib = $(LIBdir)/libhpl.a
#
#
----------------------------------------------------------------------
# - Compilers / linkers - Optimization flags
---------------------------
#
----------------------------------------------------------------------
#
CC = /usr/local/mpich-1.2.1/bin/mpicc
NOOPT =
CCFLAGS = -fomit-frame-pointer -O3 -funroll-loops
-W -Wall
#
LINKER = /usr/local/mpich-1.2.1/bin/mpicc
LINKFLAGS = $(CCFLAGS)
#
ARCHIVER = ar
ARFLAGS = r
RANLIB = echo
#
#
----------------------------------------------------------------------
# - MPI directories - library
------------------------------------------
#
----------------------------------------------------------------------
# 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 = /usr/local/mpich-1.2.1
MPinc = -I$(MPdir)/include
MPlib = $(MPdir)/lib/libmpich.a
#
#
----------------------------------------------------------------------
# - F77 / C interface
--------------------------------------------------
#
----------------------------------------------------------------------
# You can skip this section if and only if you are
not planning to use
# a BLAS library featuring a Fortran 77 interface.
Otherwise, it is
# necessary to fill out the F2CDEFS variable with
the appropriate
# options. **One and only one** option should be
chosen in **each** of
# the 3 following categories:
#
# 1) name space (How C calls a Fortran 77 routine)
#
# -DAdd_ : all lower case and a suffixed
underscore (Suns,
# Intel, ...),
# -DNoChange : all lower case (IBM RS6000),
# -DUpCase : all upper case (Cray),
# -Df77IsF2C : the FORTRAN compiler in use is
f2c.
#
# 2) C and Fortran 77 integer mapping
#
# -DF77_INTEGER=int : Fortran 77 INTEGER is a C int,
# -DF77_INTEGER=long : Fortran 77 INTEGER is a C
long,
# -DF77_INTEGER=short : Fortran 77 INTEGER is a C
short.
#
# 3) Fortran 77 string handling
#
# -DStringSunStyle : The string address is passed
at the string loca-
# tion on the stack, and the
string length is then
# passed as an F77_INTEGER
after all explicit
# stack arguments,
# -DStringStructPtr : The address of a structure
is passed by a
# Fortran 77 string, and the
structure is of the
# form: struct {char *cp;
F77_INTEGER len;},
# -DStringStructVal : A structure is passed by value
for each Fortran
# 77 string, and the
structure is of the form:
# struct {char *cp; F77_INTEGER
len;},
# -DCrayStyle : Special option for Cray
machines, which uses
# Cray fcd (fortran character
descriptor) for
# interoperation.
#
F2CDEFS =
NOOPT =
F77 =mpif77
F77LOADER =mpif77
F77FLAGS = -O $(NOOPT)
#
#
----------------------------------------------------------------------
# - 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/mpiuser/LAPACK
LAinc =
LAlib =
$(HOME)/ATLAS/lib/Linux_ATHLON/libcblas.a
$(HOME)/ATLAS/lib/Linux
_ATHLON/libatlas.a
#
#
----------------------------------------------------------------------
# - HPL includes / libraries / specifics
-------------------------------
#
----------------------------------------------------------------------
#
HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH)
$(LAinc) $(MPinc)
HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib)
#
# - Compile time options
-----------------------------------------------
#
# -DHPL_COPY_L force the copy of the panel L
before bcast;
# -DHPL_CALL_CBLAS call the cblas interface;
# -DHPL_CALL_VSIPL call the vsip library;
# -DHPL_DETAILED_TIMING enable detailed timers;
#
# By default HPL will:
# *) not copy L before broadcast,
# *) call the Fortran 77 BLAS interface
# *) not display detailed timing information.
#
HPL_OPTS = -DHPL_CALL_CBLAS
#
#
----------------------------------------------------------------------
#
HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
#
#
--------------------------______________________________________________________
I am trying to compile the High Performance Computing
Linpack
Benchmark
(HPL)
software on a cluster that has Portland (PGI) 3.2
compiler. The PGI
compiler
installs it's own BLAS routines so I would like to use
those. I modify
one
of the
make files, such as, Make.Linux_PII_FBLAS but still
get errors during
the
compile. Has anyone successfully built and run this
benchmark with PGI
compilers.
If so, could you please send me one of the make files
you used?
Many thanks
Marc
Univ. of Notre Dame
__________________________________________________
Terrorist Attacks on U.S. - How can you help?
Donate cash, emergency relief information
http://dailynews.yahoo.com/fc/US/Emergency_Information/
More information about the Beowulf
mailing list