summaryrefslogtreecommitdiffstats
path: root/INSTALL_parallel.ascired
blob: 4825b6a6e4bf3ff3cdb3b9ba83efd218a001b6f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#! /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