-
Notifications
You must be signed in to change notification settings - Fork 7
/
README
87 lines (67 loc) · 3.18 KB
/
README
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
1. Set the environment variables FIO_ROOT, FIO_ARCH, FIO_INSTALL_DIR, and PYTHON
* FIO_ROOT should be set to the directory containing this README
file
* FIO_ARCH should be set to a string describing the build
environment (for example "OSX")
* FIO_INSTALL_DIR should be set to the location where files will be
installed. Files will be installed under
$FIO_INSTALL_DIR/include, $FIO_INSTALL_DIR/lib, and
$FIO_INSTALL_DIR/bin.
* The variable PYTHON in the make.inc file should be set to the python executable.
For example 'python' or 'python3'
2. Create and edit the file $FIO_ROOT/install/make.inc.$FIO_ARCH
to specify the proper compilers and library paths. An example
using the gnu compilers can be found in
$FIO_ROOT/install/make.inc.OSX .
You will need an installation of HDF5, MPI, and LAPACK
* If compiling on flux:
Recommended modules to compile fusion-io:
anaconda3/2023.09-0-gcc-13.2.0-ajty2
glib/2.78.0-gcc-11.3.1-d4yec
gcc/13.2.0-gcc-11.3.1-tjrkt
openmpi-4.1.5/gcc-13.2.0/netcdf-c/4.9.2-ntznx
openmpi/4.1.5-gcc-13.2.0-a27lm
openmpi-4.1.5/gcc-13.2.0/hdf5/1.14.1-2-evfpn
netlib-lapack/3.11.0-gcc-13.2.0-72t2p
In addition, to use the Python interface version 13 of libstdcxx must be
installed, e.g. conda install -c conda-forge libstdcxx-ng=13
* If compiling on Portal:
CentOS 6:
ACML_HOME should also be changed to: /usr/pppl/acml/5.3.1
CentOS 7:
Use make.inc.centos7, ACML is replaced by lapack
* If compiling on eddy:
The INCLUDE path might be incorrectly set (missing an -I
in front of the first entry. export INCLUDE=-I$INCLUDE should fix it.
The standard python version on eddy is 2.7. As of Jan 2020 it is recommended
to work with Python 3 only. In order to get the python version right, do
'module load anaconda' and create/activate a conda environment before
compiling fusion-io.
Recommended modules to compile fusion-io:
1) hdf5/intel-17.0/openmpi-1.10.2/1.10.0 4) openmpi/intel-17.0/3.0.0/64
2) intel-mkl/2017.4/5/64 5) anaconda/2019.10
3) intel/17.0/64/17.0.5.239
* If compiling on perlmutter:
It is recommended to use the GNU compiler and Python >= 3.9.
* If compiling on cori:
Before compiling do 'module unload darshan' and 'module load texlive'.
Furthermore, load an anaconda module based on Python 3.
* If compiling on SDumont:
module load gcc/9.3
module load openmpi/gnu/4.1.1
module load mathlibs/openblas/0.3.19_gnu
module load hdf5/1.8_openmpi-2.0_gnu
module load anaconda3/2020.11
3. From $FIO_ROOT
make : builds static libraries and executables
make shared : builds shared libraries
make python : builds fio_py.so
4. Run "make install" from $FIO_ROOT. This will install:
Executables in $FIO_INSTALL_DIR/bin/
Libraries in $FIO_INSTALL_DIR/lib/
Headers in $FIO_INSTALL_DIR/include/
Fortran modules in $FIO_INSTALL_DIR/include/
5. To run the code add the following paths to your bashrc:
PATH: $FIO_INSTALL_DIR/bin
LD_LIBRARY_PATH: $FIO_INSTALL_DIR/lib
PYTHONPATH: $FIO_INSTALL_DIR/lib