Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
elpa
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
11
Issues
11
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Environments
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
elpa
elpa
Commits
6e57af62
Commit
6e57af62
authored
Jun 13, 2018
by
Andreas Marek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Clarify INSTALL document
parent
b3125466
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
51 deletions
+40
-51
INSTALL.md
INSTALL.md
+40
-51
No files found.
INSTALL.md
View file @
6e57af62
...
...
@@ -6,7 +6,7 @@ This file provides documentation on how to build the *ELPA* library in **version
With release of
**version ELPA-2017.05.001**
the build process has been significantly simplified,
which makes it easier to install the
*ELPA*
library.
## How to install *ELPA
*
##
## How to install *ELPA
*
##
First of all, if you do not want to build
*ELPA*
yourself, and you run Linux,
it is worth having a look at the [
*ELPA*
webpage
*
] (http://elpa.mpcdf.mpg.de)
...
...
@@ -18,6 +18,7 @@ If you want to build (or have to since no packages are available) *ELPA* yoursel
please note that
*ELPA*
is shipped with a typical "configure" and "make"
autotools procedure. This is the
**only supported way**
how to build and install
*ELPA*
.
If you obtained
*ELPA*
from the official git repository, you will not find
the needed configure script! You will have to create the configure scipt with autoconf.
...
...
@@ -34,50 +35,35 @@ Please look at configure --help for all available options.
An excerpt of the most important (
*ELPA*
specific) options reads as follows:
--disable-legacy do not build legacy API, default yes
--enable-openmp use OpenMP threading, default no.
--enable-redirect for test programs, allow redirection of
stdout/stderr per MPI taks in a file (useful for
timing), default no.
--enable-single-precision
build with single precision
--disable-timings more detailed timing, default yes
--disable-band-to-full-blocking
build ELPA2 with blocking in band_to_full (default:
enabled)
--disable-mpi-module do not use the Fortran MPI module, get interfaces by
'include "mpif.h')
--disable-generic do not build GENERIC kernels, default: enabled
--disable-sse do not build SSE kernels, default: enabled
--disable-sse-assembly do not build SSE_ASSEMBLY kernels, default: enabled
--disable-avx do not build AVX kernels, default: enabled
--disable-avx2 do not build AVX2 kernels, default: enabled
--enable-avx512 build AVX512 kernels, default: disabled
--enable-gpu build GPU kernels, default: disabled
--enable-bgp build BGP kernels, default: disabled
--enable-bgq build BGQ kernels, default: disabled
--with-mpi=[yes|no] compile with MPI. Default: yes
--with-cuda-path=PATH prefix where CUDA is installed [default=auto]
--with-cuda-sdk-path=PATH
prefix where CUDA SDK is installed [default=auto]
--with-GPU-compute-capability=VALUE
use compute capability VALUE for GPU version,
default: "sm_35"
--with-fixed-real-kernel=KERNEL
compile with only a single specific real kernel.
Available kernels are: generic generic_simple
sse_block2 sse_block4 sse_block6 sse_assembly
avx_block2 avx_block4 avx_block6 avx2_block2
avx2_block4 avx2_block6 avx512_block2 avx512_block4
avx512_block6 bgp bgq
--with-fixed-complex-kernel=KERNEL
compile with only a single specific complex kernel.
Available kernels are: generic generic_simple
sse_block1 sse_block2 sse_assembly avx_block1
avx_block2 avx2_block1 avx2_block2 avx512_block1
avx512_block2 bgp bgq
--with-gpu-support-only Compile and always use the GPU version
| configure option | description |
|:------------------------------------ |:----------------------------------------------------- |
| --disable-legacy | do not build legacy API, will be build as default |
| --enable-openmp | use OpenMP threading, default no. |
| --enable-redirect | for ELPA test programs, allow redirection of
<br>
stdout/stderr per MPI taks in a file
<br>
(useful for timing), default no. |
| --enable-single-precision | build with single precision version |
| --disable-timings | more detailed timing, default yes
<br>
**If disabled some features like autotune will <br> not work anymmore !**
|
| --disable-band-to-full-blocking | build ELPA2 with blocking in band_to_full
<br>
(default:enabled) |
| --disable-mpi-module | do not use the Fortran MPI module,
<br>
get interfaces by 'include "mpif.h') |
| --disable-generic | do not build GENERIC kernels, default: enabled |
| --disable-sse | do not build SSE kernels, default: enabled |
| --disable-sse-assembly | do not build SSE_ASSEMBLY kernels, default: enabled |
| --disable-avx | do not build AVX kernels, default: enabled |
| --disable-avx2 | do not build AVX2 kernels, default: enabled |
| --enable-avx512 | build AVX512 kernels, default: disabled |
| --enable-gpu | build GPU kernels, default: disabled |
| --enable-bgp | build BGP kernels, default: disabled |
| --enable-bgq | build BGQ kernels, default: disabled |
| --with-mpi=[yes|no] | compile with MPI. Default: yes |
| --with-cuda-path=PATH | prefix where CUDA is installed [default=auto] |
| --with-cuda-sdk-path=PATH | prefix where CUDA SDK is installed [default=auto] |
| --with-GPU-compute-capability=VALUE | use compute capability VALUE for GPU version,
<br>
default: "sm_35" |
| --with-fixed-real-kernel=KERNEL | compile with only a single specific real kernel. |
| --with-fixed-complex-kernel=KERNEL | compile with only a single specific complex kernel. |
| --with-gpu-support-only | Compile and always use the GPU version |
| --enable-scalapack-tests | build SCALAPACK test cases for performance
<br>
omparison, needs MPI, default no. |
| --enable-autotuning | enables autotuning functionality, default yes |
| --enable-c-tests | enables the C tests for elpa, default yes |
| --disable-assumed-size | do NOT use assumed-size Fortran arrays. default use |
We recommend that you do not build ELPA in its main directory but that you use it
in a sub-directory:
...
...
@@ -95,6 +81,9 @@ for the Fortran and C part.
For example sth. like this is a usual way: ./configure FCFLAGS="-O2 -mavx" CFLAGS="-O2 -mavx"
For details, please have a look at the documentation for the compilers of your choice.
**Note**
that most kernels can only be build if the correct compiler flags for this kernel (e.g. AVX-512)
have been enabled.
### Choice of building with or without MPI ###
...
...
@@ -110,6 +99,8 @@ has also been build without MPI support.
If you want to build
*ELPA*
with MPI support, please have a look at "A) Setting of MPI compiler and libraries".
For builds without MPI support, please have a look at "B) Building
*ELPA*
without MPI support".
**NOTE**
that if
*ELPA*
is build without MPI support, it will be serial unless the OpenMP parallization is
explicitely enabled.
Please note, that it is absolutely supported that both versions of the
*ELPA*
library are build
and installed in the same directory.
...
...
@@ -122,11 +113,9 @@ cannot automatically found, it is recommended to set it by hand with a variable,
configure FC=mpif90
Please note, that setting a C MPI-compiler is NOT necessary, and in most cases even harmful.
In some cases, on your system different MPI libraries and compilers are installed. Then it might happen
that during the build step an error like "no module mpi" or "cannot open module mpi" is given.
You can disable that the
*ELPA*
library uses MPI modules (and instead uses MPI header files) by
You can disable that the
*ELPA*
library uses
a
MPI modules (and instead uses MPI header files) by
adding
--disable-mpi-module
...
...
@@ -140,15 +129,15 @@ Please continue reading at "C) Enabling GPU support"
If you want to build
*ELPA*
without MPI support, add
--with-mpi=
0
--with-mpi=
no
to your configure call.
You have to specify which compilers should be used with e.g.,
configure FC=gfortran --with-mpi=
0
configure FC=gfortran --with-mpi=
no
DO NOT specify a MPI compiler here!
**DO NOT specify a MPI compiler here!**
Note, that the installed
*ELPA*
library files will be suffixed with
"_onenode", in order to discriminate this build from possible ones with MPI.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment