elpa_set man page

elpa_set ā€” set parameter or tunables for the ELPA library

Synopsis

Fortran Interface

use elpa
class(elpa_t), pointer :: elpa

call elpa%set (character(*) name, datatype value, integer error)

With the definitions of the input and output variables:

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. The error code can be querried with elpa_strerr(3)

C Interface

#include <elpa/elpa.h>
elpa_t handle;

void elpa_set (elpa_t handle, const char *name, datatype value, int *error);

With the definitions of the input and output variables:

elpa_t 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. Datatype can be either int or double."

Description

The elpa_set function is used to set parameters and tunables for the run-time of the ELPA library. It returns an error code which can be querried with elpa_strerr(3).

Parameters:

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 parameters are supported:

"na":

integer parameter. The global matrix has size (na * na)

"nev":

integer parameter. The number of eigenvectors to be computed in a call to elpa_eigenvectors(3). Must have dimension 1 <= nev <= na.

"local_nrows":

integer parameter. Number of matrix rows stored on this MPI process.

"local_ncols":

integer parameter. Number of matrix cols stored on this MPI process.

"process_row":

integer parameter. Process row number in the 2D domain decomposition.

"process_col":

integer parameter. Process col 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 compute steps can be accelerated if the matrix is already in banded form. If set, ELPA assumes that the bandwidth of the matrix is the value set. "timings": Choose whether time measurements should be done in the ELPA routines.

Tunables:

Tunables of an ELPA option can be set at anytime.

At the moment the following parameters are supported:

"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 querried 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 querried with elpa2_print_kernels(1).

"qr":

Choose whether in the real case computations in elpa_eigenvalues(3) or elpa_eigenvectors(3) compute steps, if solver is set to "ELPA_SOLVER_2STAGE", a QR decompostion should be used.

"qpu":

Choose whether accelerated GPU calculations should be used. Only available if ELPA has been build with GPU support.

"debug":

Choose whether, in case of an error, more debug information should be provided.

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)

Referenced By

elpa2_print_kernels(1), elpa_allocate(3), elpa_cholesky(3), elpa_deallocate(3), elpa_eigenvalues(3), elpa_eigenvectors(3), elpa_hermitian_multiply(3), elpa_init(3), elpa_invert_triangular(3), elpa_setup(3), elpa_solve_tridiagonal(3), elpa_uninit(3).

Sat Jun 3 2017 ELPA