forked from ornladios/ADIOS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
194 lines (140 loc) · 6.75 KB
/
INSTALL
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
Installation Instructions for ADIOS Software
==================================================
This file provides instructions for installing the ADIOS software.
If you have any problems with the installation, please see the
ADIOS support page at the following location:
http://www.nccs.gov/user-support/adios
Obtaining ADIOS
===============
You can download the latest ADIOS source package from the ADIOS
home page.
Requirements and optional features
==================================
- ADIOS requires MPI and MPI-IO.
- ADIOS requires Mini-XML. Versions 2.5, 2.6 and 2.7 are supported.
The Mini-XML library is used to parse XML configuration files.
It can be downloaded from
http://www.msweet.org/downloads.php?L+Z3
http://www.msweet.org/files/project3/mxml-2.7.tar.gz
Note that ADIOS does NOT work with mxml 2.8
- A Fortran 90 compiler is optional.
The Fortran API is built only if a Fortran 90 compiler is available.
Use --disable-fortran at configuration time to disable this feature.
- NetCDF-3 is optional.
The bp2ncd converter utility to NetCDF format is built only if NetCDF
is available. Currently ADIOS uses the NetCDF-3 library. Use the option
--with netcdf=<path> or ensure that the NETCDF_DIR environment variable
is set before configuring ADIOS.
NetCDF version 3.6.2 can be downloaded from
http://www.unidata.ucar.edu/downloads/netcdf
For this purpose, you can use a sequential build of NetCDF-4 too.
- HDF5 is optional.
The bp2h5 converter utility to HDF5 format is built only if a HDF5
library is available. Currently ADIOS uses the 1.6 version of the HDF5
API but it can be built and used with the 1.8.x version of the HDF5
library too. Use the option --with hdf5=<path> to configure ADIOS.
HDF5 can be downloaded from
http://www.hdfgroup.org/downloads
- Parallel HDF5 is optional.
The transport method writing files in the Parallel HDF5 format is built
only if a parallel version of the HDF5 library is (also) available. You
need to use the option with phdf5=<path> to build this transport method.
If you define Parallel HDF5 and do not define serial HDF5, then bp2h5 will
be built with the parallel library.
Note that if you build this transport method, ADIOS will depend on PHDF5
when you link any application with ADIOS even if you the application does
not intend to use this method.
If you have problems compiling ADIOS with PHDF5 due to missing flags or
libraries, you can define them using
--with-phdf5-incdir=<path>,
--with-phdf5-libdir=<path> and
--with-phdf5-libs=<link time flags and libraries>
- NetCDF-4 Parallel is optional.
The NC4 transport method writes files using the NetCDF-4 library which in
turn is based on the parallel HDF5 library. You need to use the option
-- with nc4par=<path> to build this transport method. Also, you need the
parallel HDF5 library.
NetCDF version 4.0.1 can be downloaded from
http://www.unidata.ucar.edu/downloads/netcdf
You need to build NetCDF-4 with a parallel HDF5 library as described at
http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/parallel.html
- Matlab is optional.
If you have Matlab, you can build the ADIOS reader for Matlab separatly
after building ADIOS. See details below in the Matlab section but before
configuring ADIOS.
Quick Installation
==================
The following steps are needed to configure, build and install ADIOS.
For example, to install ADIOS to /usr/local/adios on a machine where
mpicc and mpif90 are the compilers:
$ tar zxf adios-1.9.0.tar.gz
$ cd adios-1.9.0
$ CC=mpicc FC=mpif90 ./configure --prefix=/usr/local/adios
--with-mxml=<location of mini-xml installation>
--with-hdf5=<location of HDF5 installation>
--with-netcdf=<location of netCDF installation>
$ make
$ make install
Full installation instructions
==============================
Architectures and compilers
---------------------------
Cray XT machines
----------------
Use "CC=cc CXX=CC FC=ftn" for the configure command.
These wrappers should be using the actual C, C++ and Fortran compilers on
such machines. ADIOS can be compiled with GNU, PGI and Intel compilers
but it does not compile with the Cray compiler. If you are using the
Cray compilers to build your application build the ADIOS library with
the GNU compiler.
BlueGene machines
-----------------
Use the following compiler settings for the configure command:
MPICC=mpixlc_r MPIFC=mpixlf90_r CC=xlc_r FC=xlf90_r
Mac OSX
-------
Use separate MPICC/MPIFC and CC/FC compilers
Add
export CFLAGS="-DO_LARGEFILE=0 -fno-common"
before configuring adios.
If you do not want to install a fortran compiler on Mac, use
--disable-fortran at configure.
We have built ADIOS on OS X 10.6 using MacPorts and GCC4.4
and OpenMPI 1.4.2 ports. GCC4.4 contains the gfortran compiler too.
Linux
-----
ADIOS should configure and build fine on Linux. One possible issue
is that configure may break in one of the tests for the fortran compiler
test with mpif90. If you have set FC=mpif90 before configure, try to
configure without setting it. Then configure will test the default
f90 compiler (gfortran most likely) and pass but still will use mpif90 to
build ADIOS. Or try MPIFC=mpif90 and FC=<whatever fortran compiler you have>
Configuring
-----------
Hint: look at the runconf script in the distribution directory. This
script is used to configure ADIOS on our systems. It may help you
in configuring ADIOS for your system.
./configure --help
lists the options that you can use.
Matlab
------
Matlab MEX compiler uses GNU gcc to compile codes so you need to build
ADIOS with gcc. It also requires relocatable code, therefore you need to
specify -fPIC in your C compiler flags when configuring ADIOS:
$ CFLAGS="-fPIC" ./configure
$ make
After building ADIOS, you can build the reader for Matlab. Ensure that
the MEX compiler 'mex' is in the path:
$ cd tools/matlab
$ make matlab
You need to install the ADIOS M and MEX files in tools/matlab manually
to a directory where Matlab can find them (you can tell Matlab where to
look for them by setting the MATLABPATH environment variable).
HDF5
----
If you have parallel HDF5 installed and use it with --with-phdf5 and you
do not specify a serial HDF5 library with --with-hdf5, then configure
will use the parallel library for both HDF5 and PHDF5. This may or
may not work to build utils/bp2h5. If not, you need to use a serial
version of HDF5 to build bp2h5. Use the --with-hdf5 option to tell
configure where to look for the serial HDF5 library.