mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
73 lines
3.3 KiB
Plaintext
73 lines
3.3 KiB
Plaintext
# 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 (for IBM's MPI)
|
|
# setenv CC "/usr/local/mpich-1.1.1/lib/rs6000/ch_mpl/mpicc" (for mpich)
|
|
setenv CC "/usr/local/mpich-1.1.1/lib/rs6000/ch_mpl/mpicc"
|
|
|
|
# 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 "-g -qfullpath -bnoobjreorder -D_LARGE_FILES -DHAVE_FUNCTION"
|
|
|
|
# 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).
|