hdf5/INSTALL_parallel.ascired

69 lines
2.2 KiB
Bash

#! /bin/sh
# How to create a parallel version of HDF5 on the Intel Asci Red System
# that uses MPI and MPI-IO.
# Read the INSTALL.ascired file to understand the configure/make process
# for the sequential (i.e., uniprocessor) version of HDF5.
# The process for creating the parallel version of HDF5 using MPI-IO
# is similar, but first you will have to set up some environment variables
# with values specific to your local installation.
# The relevant variables are shown below, with values that work for Sandia'a
# ASCI Red Tflops machine as of the writing of these instructions (980421).
# Don't try to make a parallel version of HDF5 from the same hdf5 root
# directory where you made a sequential version of HDF5 -- start with
# a fresh copy.
# Here are the flags you must set before running the ./configure program
# to create the parallel version of HDF5.
# (We use sh here, but of course you can adapt to whatever shell you like.)
# compile for MPI jobs
#CC=cicc
# The following flags are only needed when compiling/linking a user program
# for execution.
#
debug="-g -UH5O_DEBUG -DH5F_OPT_SEEK=0"
default_mode="-DDOS386 $debug -DH5F_LOW_DFLT=H5F_LOW_SEC2"
# Using the MPICH libary by Daniel Sands.
# It contains both MPI-1 and MPI-IO functions.
ROMIO="${HOME}/MPIO/mpich"
if [ ! -d $ROMIO ]
then
echo "ROMIO directory ($ROMIO) not found"
echo "Aborted"
exit 1
fi
mpi1_inc=""
mpi1_lib=""
mpio_inc="-I$ROMIO/include"
mpio_lib="-L$ROMIO/lib"
MPI_INC="$mpi1_inc $mpio_inc"
MPI_LIB="$mpi1_lib $mpio_lib"
#for version 1.1 and later
RUNSERIAL="yod -sz 1"
export RUNSERIAL
RUNPARALLEL="yod -sz 8"
export RUNPARALLEL
LIBS="-lmpich"
export LIBS
# Once these variables are set to the proper values for your installation,
# you can run the configure program (i.e., ./configure tflop --enable-parallel=mpio)
# to set up the Makefiles, etc.
# After configuring, run the make as described in the INSTALL file.
# When compiling and linking your application, don't forget to compile with
# cicc and link to the MPI-IO library and the parallel version of the HDF5
# library (that was created and installed with the configure/make process).
CFLAGS="$default_mode" \
CPPFLAGS=$MPI_INC \
LDFLAGS=$MPI_LIB \
./configure --enable-parallel --disable-shared tflop