Release 2023.11.11 authored by Andreas Marek's avatar Andreas Marek
......@@ -2,7 +2,7 @@
This document provides the guide for using the *ELPA* library with the new API (API version 20170403 or higher).
If you need instructions on how to build *ELPA*, please look at [INSTALL.md] (INSTALL.md).
If you need instructions on how to build *ELPA*, please look at [INSTALL document](INSTALL.md) .
### Online and local documentation ###
......@@ -11,7 +11,7 @@ Local documentation (via man pages) should be available (if *ELPA* has been inst
For example `man elpa2_print_kernels` should provide the documentation for the *ELPA* program, which prints all
the available kernels.
Also a [online doxygen documentation](http://elpa.mpcdf.mpg.de/html/Documentation/ELPA-2023.05.001/html/index.html)
Also a [online doxygen documentation](https://elpa.mpcdf.mpg.de/documentation/doxygen/ELPA_DOXYGEN_PAGES/ELPA-2023.11.001/html/index.html)
for each *ELPA* release is available.
......@@ -68,7 +68,7 @@ Fortran synopsis
if (elpa_init(20171201) /= ELPA_OK) then ! put here the API version that you are using
print *, "ELPA API version not supported"
stop
stop 1
endif
elpa => elpa_allocate(success)
if (success != ELPA_OK) then
......@@ -178,7 +178,9 @@ The following table gives a list of all supported parameters which can be used t
## III) List of computational routines ##
The following compute routines are available in *ELPA*: Please have a look at the man pages or [online doxygen documentation] (http://elpa.mpcdf.mpg.de/html/Documentation/ELPA-2023.05.001/html/index.html) for details.
The following compute routines are available in *ELPA*: Please have a look at the man pages or
[online doxygen documentation](https://elpa.mpcdf.mpg.de/documentation/doxygen/ELPA_DOXYGEN_PAGES/ELPA-2023.11.001/html/index.html)
for details.
| Name | Purpose | since API version |
......@@ -225,7 +227,7 @@ This is necessary to make the threading an autotunable option.
For each tunable parameter mentioned in Section II, there exists a default value. This means, that if this parameter is **not explicitly** set by the user by the
*ELPA* set method, *ELPA* takes the default value for the parameter. E.g. if the user does not set a solver method, than *ELPA* will take the default 1`ELPA_SOLVER_1STAGE`.
The user can change this default value by setting an enviroment variable to the desired value.
The user can change this default value by setting an environment variable to the desired value.
The name of this variable is always constructed in the following way:
```
......@@ -240,6 +242,16 @@ export ELPA_DEFAULT_solver=ELPA_SOLVER_2STAGE
in order to define the 2stage solver as the default.
Speciall care has to be taken for keywords of the ELPA library, which contain a dash in the variable name, especially
the variables "nivida-gpu", "amd-gpu", and "intel-gpu". Since environment variables containing a dash are not allowed, for
these variables a work-around must be taken, for example
```
env 'ELPA_DEFAULT_nvidia-gpu=1' ./test_elpa.x ...
```
We will at a later release the alternative names "nvidia_gpu", "amd_gpu", and "intel_gpu", where the usual setting of
environment variables will work.
**Important note**
The default valule is completly ignored, if the user has manually set a parameter-value pair with the *ELPA* set method!
Thus the above environemnt variable will **not** have an effect, if the user code contains a line
......@@ -291,7 +303,7 @@ Fortran synopsis
if (elpa_init(20171201) /= ELPA_OK) then
print *, "ELPA API version not supported"
stop
stop 1
endif
elpa => elpa_allocate(success)
......@@ -448,7 +460,7 @@ call descinit( sc_desc, na, na, nblk, nblk, 0, 0, my_blacs_ctxt, na_rows, info )
! check the return code
if (info .ne. 0) then
print *,"Invalid blacs-distribution. Abort!"
stop
stop 1
endif
! Allocate matrices
......@@ -468,7 +480,7 @@ a(i,j) = [ your problem to be solved]
if (elpa_init(20171201) /= ELPA_OK) then ! put here the API version that you are using
print *, "ELPA API version not supported"
stop
stop 1
endif
elpa => elpa_allocate(success)
if (success != ELPA_OK) then
......
......