diff options
-rw-r--r-- | INSTALL.ibm.sp.parallel | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/INSTALL.ibm.sp.parallel b/INSTALL.ibm.sp.parallel new file mode 100644 index 0000000..8242b5c --- /dev/null +++ b/INSTALL.ibm.sp.parallel @@ -0,0 +1,70 @@ +# How to create a parallel version of HDF5 on an IBM SP system +# that uses MPI and MPI-IO. + +# Unfortunately, the configure/make process to create the parallel version of +# HDF5 has not yet been automated to the same extent that the sequential +# version has. +# Read the INSTALL file to understand the configure/make process for the +# sequential (i.e., uniprocess) 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 LLNL's +# ASCI baby blue pacific SP as of the writing of these instructions (980210). + +# In addition to the environment variables, you _might_ also have to +# create a new file in the config directory. +# You will need to create this file only if the execution of the ./configure +# program aborts with an error after printing the message +# "checking whether byte ordering is bigendian..." +# +# If this is the case, create a new file in the config directory +# whose name is of the form architecture-vendor-OSversion +# (e.g., for baby blue pacific, this file is named powerpc-ibm-aix4.2.1.0) +# and which contains the line +# ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'} +# if the target architecture is bigendian, or +# ac_cv_c_bigendian=${ac_cv_c_bigendian='no'} +# otherwise. +# Running the program ./bin/config.guess will print out the name +# of the new file you must create. + +# 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 csh here, but of course you can adapt to whatever shell you like.) + +# compile for MPI jobs +setenv CC mpcc + +# These compiler flags work on ASCI baby blue pacific (IBM SP), +# using IBM's MPI and Argonne's MPI-IO (ROMIO): +# -DHAVE_FUNCTION compiler accepts __FUNCTION__ notation +# -I/usr/local/mpio/include/ibm using ROMIO's MPI-IO header files +# +# The following flags are only needed when compiling/linking a user program +# for execution. +# -bI:/usr/include/piofs/piofs.exp this MPI-IO uses PIOFS file system +# -L/usr/local/mpio/lib/ibm -lmpio link to this MPI-IO lib +# +setenv CFLAGS "-DHAVE_FUNCTION -I/usr/local/mpio/include/ibm -bI:/usr/include/piofs/piofs.exp -L/usr/local/mpio/lib/ibm -lmpio" + +# The configure/make process needs to be able to run some programs, +# need to specify a processor pool. +# Also, don't prepend the process id in the output of the programs +# run by config/make. +setenv MP_RMPOOL 0 +setenv MP_LABELIO no + +# Once these variables are set to the proper values for your installation, +# you can run the configure program (i.e., ./configure --enable-parallel=mpio) +# to set up the Makefiles, etc. +# After configuring, run the make as described in the INSTALL file. +# Once the configuration is complete, you can set any of your +# environment variables to whatever you like. + +# When compiling and linking your application, don't forget to compile with +# mpcc 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). |