Scroll to navigation

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:

An instance of the ELPA object.
The name of the option to be set.
the value which should be assigned to the option name. The datatype can be integer or real(kind=c_double).
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:

The handle of an ELPA object, obtained before with elpa_allocate(3)
The name of the option to be set.
The value which should be assigned to the option name. The datatype can be either int or double.
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