-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathINSTALL
More file actions
167 lines (114 loc) · 5.18 KB
/
Copy pathINSTALL
File metadata and controls
167 lines (114 loc) · 5.18 KB
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
Installation Instructions
*************************
This file describes how to compile and install PVFMM. To install
PVFMM you will need at least: MPI C++ compiler, BLAS and FFTW3 libraries.
The following section describes the installation steps.
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type `make' to compile the package.
3. The Doxygen source code documentation (HTML and PDF) can be compiled
using `make doxygen-doc' (requires doxygen; the PDF also needs pdflatex).
4. Type `make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
6. To uninstall, `make uninstall' removes the installation.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. In most cases, running
`./configure' will specify what options need to be specified manually.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure MPICXX="CC"
Installation Names
==================
By default, `make install' installs the package's library under
`/usr/local/lib/pvfmm', header files under `/usr/local/include/pvfmm'
and data files under '/usr/local/shared/pvfmm'. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PREFIX', where PREFIX must be an absolute file name.
Troubleshooting
===============
Make sure that if you use special directories for compilers etc, that
your LIBRARY_PATH enviroment variables are set correctly (e.g.,
LD_LIBRARY_PATH on linux and DYLD_LIBRARY_PATH on macosx)
Particular systems
==================
Configure options for some systems on which this package was tested
are given below:
`Titan (ORNL)'
module load fftw
module swap PrgEnv-pgi PrgEnv-intel
./configure MPICXX="CC" F77="ftn"
`Ronaldo (ICES)'
./configure CXXFLAGS="-msse4" --with-fftw="$FFTW_DIR"
'Cafu (ICES)'
./configure CXXFLAGS="-mavx" --with-fftw="$FFTW_DIR" LDFLAGS="-L/usr/lib64/nvidia/" --with-cuda="$CUDA_DIR" NVCCFLAGS="-arch=compute_35 -code=sm_35"
`GCC-4.9 on OS X Yosemite'
./configure CXXFLAGS="-Wa,-q -fabi-version=6 -mavx" --with-fftw="$FFTW_DIR"
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`--help=short'
Print a summary of the options unique to this package's
`configure', and exit.
`--prefix=DIR'
Use DIR as the installation prefix.
`MPICXX=<MPI-compiler>'
Specify the MPI compiler and relevant flags.
`CC=<C-compiler>'
Specify the C compiler and relevant flags.
`F77=<Fortran-compiler>'
Specify the Fortran compiler and relevant flags.
`NVCCFLAGS=<nvcc flags>'
Additional flags (eg: NVCCFLAGS="-arch=compute_30 -code=sm_30")
`--with-openmp-flag=FLAGS'
FLAGS to enable OpenMP.
`--with-fftw=DIR'
Set FFTW installation directory to DIR
`--with-fftw-include=DIR'
Set fftw3.h directory path to DIR
`--with-fftw-lib=LIB'
Set FFTW library to LIB
`--with-blas=<lib>'
Use BLAS library <lib>
`--with-lapack=<lib>'
Use LAPACK library <lib>
`--with-cuda=PATH'
Set to prefix where CUDA is installed [default=no]
`--with-precomp-dir=DIR'
Set directory for precomputed data files to DIR. Default path is
`PVFMM_DIR' environment variable if defined, or the current
directory at execution.
The build is compiled with `-O3 -march=native' by default, so the
kernel functions use the best SIMD instructions available on the build
host automatically. To target a different ISA, override on the command
line, e.g. `CXXFLAGS=-mavx'.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
`make' Invocation
======================
The following is a list of the available target for make:
To compile the library: make
To install the library: make install
To compile all examples: make all-examples
To compile documentation (HTML + PDF): make doxygen-doc