1elpa_set(3)                Library Functions Manual                elpa_set(3)
2
3
4

NAME

6       elpa_set - set parameter or tunables for the ELPA library
7
8

SYNOPSIS

10   FORTRAN INTERFACE
11       use elpa
12       class(elpa_t), pointer :: elpa
13
14       call elpa%set (character(*) name, datatype value, integer error)
15
16       With the definitions of the input and output variables:
17
18
19       character(*) :: name
20              the name of the option to be set
21
22       datatype :: value
23              the value which should be assigned to the option name. The
24              datatype can be integer or real(kind=c_double).
25
26       integer, optional :: error
27              the returned error code. On success it is ELPA_OK, otherwise an
28              error. The error code can be querried with elpa_strerr(3)
29
30
31   C INTERFACE
32       #include <elpa/elpa.h>
33       elpa_t handle;
34
35       void elpa_set (elpa_t handle, const char *name, datatype value, int
36       *error);
37
38       With the definitions of the input and output variables:
39
40
41       elpa_t handle;
42              the handle of an ELPA object, obtained before with
43              elpa_allocate(3)"
44
45       const char *name;
46              the name of the option to be set.
47
48       datatype value;
49              the value which should be assigned to the option name. Datatype
50              can be either int or double."
51
52

DESCRIPTION

54       The elpa_set function is used to set parameters and tunables for the
55       run-time of the ELPA library. It returns an error code which can be
56       querried with elpa_strerr(3).
57
58       Parameters:
59
60       Parameters of an ELPA instance have to be set BEFORE the ELPA instance
61       is set up with the function elpa_setup(3).
62
63       At the moment the following parameters are supported:
64
65       "na":  integer parameter. The global matrix has size (na * na)
66
67       "nev": integer parameter. The number of eigenvectors to be computed in
68              a call to elpa_eigenvectors(3). Must have dimension 1 <= nev <=
69              na.
70
71       "local_nrows":
72              integer parameter. Number of matrix rows stored on this MPI
73              process.
74
75       "local_ncols":
76              integer parameter. Number of matrix cols stored on this MPI
77              process.
78
79       "process_row":
80              integer parameter. Process row number in the 2D domain
81              decomposition.
82
83       "process_col":
84              integer parameter. Process col number in the 2D domain
85              decomposition.
86
87       "mpi_comm_parent":
88              integer parameter. The parent MPI communicator which includes
89              all MPI process which are used in the 2D domain decomposition.
90
91       "bandwidth":
92              integer parameter. Some ELPA compute steps can be accelerated if
93              the matrix is already in banded form. If set, ELPA assumes that
94              the bandwidth of the matrix is the value set.
95
96       "blacs_context":
97              integer parameter. The generalized eigenvalue solver
98              elpa_generalized_eigenvectors(3) use internal calls to some of
99              the scalapack routines. Thus before calling it, the user has to
100              provide properly initialized blacs context.
101
102       "timings":
103              Choose whether time measurements should be done in the ELPA
104              routines.
105
106
107       Tunables:
108
109       Tunables of an ELPA option can be set at anytime.
110
111       At the moment the following parameters are supported:
112
113       "solver":
114              Choose which solver should be used in the compute steps
115              elpa_eigenvalues(3) or elpa_eigenvectors(3). At the moment
116              allowed option are "ELPA_SOLVER_1STAGE" or "ELPA_SOLVER_2STAGE".
117
118       "real_kernel":
119              Choose which real kernel should be used in the
120              elpa_eigenvalues(3) or elpa_eigenvectors(3) compute steps, if
121              solver is set to "ELPA_SOLVER_2STAGE". The available kernels can
122              be querried with elpa2_print_kernels(1).
123
124       "complex_kernel":
125              Choose which complex kernel should be used in the
126              elpa_eigenvalues(3) or elpa_eigenvectors(3) compute steps, if
127              solver is set to "ELPA_SOLVER_2STAGE". The available kernels can
128              be querried with elpa2_print_kernels(1).
129
130       "qr":  Choose whether in the real case computations in
131              elpa_eigenvalues(3) or elpa_eigenvectors(3) compute steps, if
132              solver is set to "ELPA_SOLVER_2STAGE", a QR decompostion should
133              be used.
134
135       "qpu": Choose whether accelerated GPU calculations should be used. Only
136              available if ELPA has been build with GPU support.
137
138       "debug":
139              Choose whether, in case of an error, more debug information
140              should be provided.
141

SEE ALSO

143       elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_setup(3)
144       elpa_strerr(3) elpa_eigenvalues(3) elpa_eigenvectors(3)
145       elpa_cholesky(3) elpa_invert_triangular(3) elpa_solve_tridiagonal(3)
146       elpa_hermitian_multiply(3) elpa_deallocate(3) elpa_uninit(3)
147
148
149
150ELPA                            Sat Jun 3 2017                     elpa_set(3)
Impressum