table of contents
- experimental 2026.02.002-1
| elpa_set(3) | Library Functions Manual | elpa_set(3) |
NAME¶
elpa_set - set a parameter for the ELPA object.
SYNOPSIS¶
FORTRAN INTERFACE¶
use elpa
class(elpa_t), pointer :: elpa_handle
call elpa_handle%set (name, value, error)
With the definitions of the input and output variables:
- class(elpa_t) :: elpa
- An instance of the ELPA object.
- character(*) :: name
- The name of the option to be set.
- datatype :: value
- the value which should be assigned to the option name. The datatype can be integer or real(kind=c_double).
- integer, optional :: error
- The returned error code. On success it is ELPA_OK, otherwise an error. he error code can be queried with elpa_strerr(3)
C/C++ INTERFACE¶
#include <elpa/elpa.h>
elpa_t elpa_handle;
void elpa_set (elpa_t elpa_handle, const char *name, datatype value, int *error);
With the definitions of the input and output variables:
- elpa_t elpa_handle;
- The handle of an ELPA object, obtained before with elpa_allocate(3)
- const char *name;
- The name of the option to be set.
- datatype value;
- The value which should be assigned to the option name. The datatype can be either int or double.
- int *error;
- The error code of the function. Should be "ELPA_OK". The error codes can be queried with elpa_strerr(3)
DESCRIPTION¶
The elpa_set function is used to set mandatory parameters and runtime options of the ELPA library. It returns an error code which can be queried with elpa_strerr(3).
Mandatory parameters:
Mandatory parameters of an ELPA instance have to be set BEFORE the ELPA instance is set up with the function elpa_setup(3).
At the moment the following mandatory parameters are supported:
- "na":
- integer parameter. The global matrix has size is (na * na)
- "nev":
- integer parameter. The number of eigenvectors to be computed in a call to elpa_eigenvectors(3). Must satisfy 1 <= nev <= na.
- "local_nrows":
- integer parameter. Number of matrix rows stored on this MPI process.
- "local_ncols":
- integer parameter. Number of matrix columns stored on this MPI process.
- "process_row":
- integer parameter. Process row number in the 2D domain decomposition.
- "process_col":
- integer parameter. Process column number in the 2D domain decomposition.
- "mpi_comm_parent":
- integer parameter. The parent MPI communicator which includes all MPI process which are used in the 2D domain decomposition.
- "bandwidth":
- integer parameter. Some ELPA computational steps can be accelerated if the input matrix is already in banded form. If set, ELPA assumes that the matrix has the provided bandwidth.
- "BLACS_context":
- integer parameter. The generalized eigenvalue solver elpa_generalized_eigenvectors(3) uses internal calls to some of the ScaLAPACK routines. Thus before calling it, the user has to provide properly initialized BLACS context.
- "timings":
- integer parameter. Choose whether time measurements should be done in the ELPA routines (1) or not (0).
Runtime options:
Runtime options of an ELPA option can be set at any time.
Here are some suuported runtime options:
- "solver":
- Choose which solver should be used in the compute steps elpa_eigenvalues(3) or elpa_eigenvectors(3). At the moment allowed option are "ELPA_SOLVER_1STAGE" or "ELPA_SOLVER_2STAGE".
- "real_kernel":
- Choose which real kernel should be used in the elpa_eigenvalues(3) or elpa_eigenvectors(3) compute steps, if solver is set to "ELPA_SOLVER_2STAGE". The available kernels can be queried with elpa2_print_kernels(1).
- "complex_kernel":
- Choose which complex kernel should be used in the elpa_eigenvalues(3) or elpa_eigenvectors(3) compute steps, if solver is set to "ELPA_SOLVER_2STAGE". The available kernels can be queried with elpa2_print_kernels(1).
- "qr":
- Choose whether a QR decomposition should be used for the real case computations in elpa_eigenvalues(3) or elpa_eigenvectors(3) computational steps, if solver was set to "ELPA_SOLVER_2STAGE".
- "debug":
- Choose whether, in case of an error, more debug information should be
provided.
The full list of supported options can found in the ELPA documentation.
SEE ALSO¶
elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_setup(3) elpa_strerr(3) elpa_eigenvalues(3) elpa_eigenvectors(3) elpa_cholesky(3) elpa_invert_triangular(3) elpa_solve_tridiagonal(3) elpa_hermitian_multiply(3) elpa_deallocate(3) elpa_uninit(3)
| Thu Nov 28 2024 | ELPA |