summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INSTALL.ibm.sp.parallel70
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).