Eigenvalue SoLvers for Petaflop-Applications (ELPA)  2021.05.002
fortran_constants.h
Go to the documentation of this file.
1 #if 0
2 !
3 ! Copyright 2017, L. Hüdepohl and A. Marek, MPCDF
4 !
5 ! This file is part of ELPA.
6 !
7 ! The ELPA library was originally created by the ELPA consortium,
8 ! consisting of the following organizations:
9 !
10 ! - Max Planck Computing and Data Facility (MPCDF), formerly known as
11 ! Rechenzentrum Garching der Max-Planck-Gesellschaft (RZG),
12 ! - Bergische Universität Wuppertal, Lehrstuhl für angewandte
13 ! Informatik,
14 ! - Technische Universität München, Lehrstuhl für Informatik mit
15 ! Schwerpunkt Wissenschaftliches Rechnen ,
16 ! - Fritz-Haber-Institut, Berlin, Abt. Theorie,
17 ! - Max-Plack-Institut für Mathematik in den Naturwissenschaften,
18 ! Leipzig, Abt. Komplexe Strukutren in Biologie und Kognition,
19 ! and
20 ! - IBM Deutschland GmbH
21 !
22 ! This particular source code file contains additions, changes and
23 ! enhancements authored by Intel Corporation which is not part of
24 ! the ELPA consortium.
25 !
26 ! More information can be found here:
27 ! http://elpa.mpcdf.mpg.de/
28 !
29 ! ELPA is free software: you can redistribute it and/or modify
30 ! it under the terms of the version 3 of the license of the
31 ! GNU Lesser General Public License as published by the Free
32 ! Software Foundation.
33 !
34 ! ELPA is distributed in the hope that it will be useful,
35 ! but WITHOUT ANY WARRANTY; without even the implied warranty of
36 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37 ! GNU Lesser General Public License for more details.
38 !
39 ! You should have received a copy of the GNU Lesser General Public License
40 ! along with ELPA. If not, see <http://www.gnu.org/licenses/>
41 !
42 ! ELPA reflects a substantial effort on the part of the original
43 ! ELPA consortium, and we ask you to respect the spirit of the
44 ! license that we chose: i.e., please contribute any changes you
45 ! may have back to the original ELPA library distribution, and keep
46 ! any derivatives of ELPA under the same license that we chose for
47 ! the original distribution, the GNU Lesser General Public License.
48 !
49 #endif
50 
51 #include <elpa/elpa_constants.h>
52 
53 #define FORTRAN_CONSTANT(name, value, ...) \
54  integer(kind=C_INT), parameter :: name = value !ELPA_C_DEFINE
55 
56 ! General constants
58 
59 ! matrix layout constants
61 
62 ! Solver constants
64 #undef ELPA_NUMBER_OF_SOLVERS
66 
67 
68 ! Real kernels
70 #undef ELPA_2STAGE_NUMBER_OF_REAL_KERNELS
71  FORTRAN_CONSTANT(ELPA_2STAGE_NUMBER_OF_REAL_KERNELS, & NEWLINE (0 ELPA_FOR_ALL_2STAGE_REAL_KERNELS(ELPA_ENUM_SUM)))
72 
73 
74 ! Complex kernels
76 #undef ELPA_2STAGE_NUMBER_OF_COMPLEX_KERNELS
77  FORTRAN_CONSTANT(ELPA_2STAGE_NUMBER_OF_COMPLEX_KERNELS, & NEWLINE (0 ELPA_FOR_ALL_2STAGE_COMPLEX_KERNELS(ELPA_ENUM_SUM)))
78 
79 
80 ! Autotune
#define FORTRAN_CONSTANT(name, value,...)
Definition: fortran_constants.h:53
#define ELPA_NUMBER_OF_SOLVERS
Definition: elpa_constants.h:30
#define ELPA_FOR_ALL_AUTOTUNE_DOMAINS(X,...)
Definition: elpa_constants.h:154
#define ELPA_FOR_ALL_2STAGE_REAL_KERNELS(X,...)
Definition: elpa_constants.h:33
#define ELPA_FOR_ALL_MATRIX_LAYOUTS(X)
Definition: elpa_constants.h:13
#define ELPA_FOR_ALL_2STAGE_REAL_KERNELS_AND_DEFAULT(X)
Definition: elpa_constants.h:75
#define ELPA_FOR_ALL_AUTOTUNE_LEVELS(X,...)
Definition: elpa_constants.h:144
#define ELPA_ENUM_SUM(name, value,...)
Definition: elpa_constants.h:10
#define ELPA_FOR_ALL_2STAGE_COMPLEX_KERNELS(X,...)
Definition: elpa_constants.h:84
#define ELPA_FOR_ALL_SOLVERS(X)
Definition: elpa_constants.h:23
#define ELPA_FOR_ALL_ERRORS(X)
Definition: elpa_constants.h:121
#define ELPA_FOR_ALL_2STAGE_COMPLEX_KERNELS_AND_DEFAULT(X)
Definition: elpa_constants.h:110