1elpa_set(3) Library Functions Manual elpa_set(3)
2
3
4
6 elpa_set - set parameter or tunables for the ELPA library
7
8
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
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. "timings": Choose
95 whether time measurements should be done in the ELPA routines.
96
97
98 Tunables:
99
100 Tunables of an ELPA option can be set at anytime.
101
102 At the moment the following parameters are supported:
103
104 "solver":
105 Choose which solver should be used in the compute steps
106 elpa_eigenvalues(3) or elpa_eigenvectors(3). At the moment
107 allowed option are "ELPA_SOLVER_1STAGE" or "ELPA_SOLVER_2STAGE".
108
109 "real_kernel":
110 Choose which real kernel should be used in the
111 elpa_eigenvalues(3) or elpa_eigenvectors(3) compute steps, if
112 solver is set to "ELPA_SOLVER_2STAGE". The available kernels can
113 be querried with elpa2_print_kernels(1).
114
115 "complex_kernel":
116 Choose which complex kernel should be used in the
117 elpa_eigenvalues(3) or elpa_eigenvectors(3) compute steps, if
118 solver is set to "ELPA_SOLVER_2STAGE". The available kernels can
119 be querried with elpa2_print_kernels(1).
120
121 "qr": Choose whether in the real case computations in
122 elpa_eigenvalues(3) or elpa_eigenvectors(3) compute steps, if
123 solver is set to "ELPA_SOLVER_2STAGE", a QR decompostion should
124 be used.
125
126 "qpu": Choose whether accelerated GPU calculations should be used. Only
127 available if ELPA has been build with GPU support.
128
129 "debug":
130 Choose whether, in case of an error, more debug information
131 should be provided.
132
134 elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_setup(3)
135 elpa_strerr(3) elpa_eigenvalues(3) elpa_eigenvectors(3)
136 elpa_cholesky(3) elpa_invert_triangular(3) elpa_solve_tridiagonal(3)
137 elpa_hermitian_multiply(3) elpa_deallocate(3) elpa_uninit(3)
138
139
140
141ELPA Sat Jun 3 2017 elpa_set(3)