PLASMA  2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
plasmaf.h
1 !**
2 !
3 ! @file plasmaf.h
4 !
5 ! PLASMA FORTRAN header
6 ! PLASMA is a software package provided by Univ. of Tennessee,
7 ! Univ. of California Berkeley and Univ. of Colorado Denver
8 !
9 ! @version 2.8.0
10 ! @author Bilel Hadri
11 ! @author Mathieu Faverge
12 ! @date 2010-11-15
13 !
14 !**
15 
16 !********************************************************************
17 ! PLASMA constants - precisions
18 !
19  integer PlasmaByte, PlasmaInteger, PlasmaRealFloat
20  integer PlasmaRealDouble, PlasmaComplexFloat, PlasmaComplexDouble
21  parameter ( PlasmaByte = 0 )
22  parameter ( PlasmaInteger = 1 )
23  parameter ( PlasmaRealFloat = 2 )
24  parameter ( PlasmaRealDouble = 3 )
25  parameter ( PlasmaComplexFloat = 4 )
26  parameter ( PlasmaComplexDouble = 5 )
27 
28 !********************************************************************
29 ! PLASMA constants - CBLAS & LAPACK
30 !
31  integer PlasmaRM, PlasmaCM, PlasmaCCRB
32  integer PlasmaCRRB, PlasmaRCRB, PlasmaRRRB
33  parameter ( PlasmaRM = 101 )
34  parameter ( PlasmaCM = 102 )
35  parameter ( PlasmaCCRB = 103 )
36  parameter ( PlasmaCRRB = 104 )
37  parameter ( PlasmaRCRB = 105 )
38  parameter ( PlasmaRRRB = 106 )
39 
40  integer PlasmaNoTrans, PlasmaTrans, PlasmaConjTrans
41  parameter ( PlasmaNoTrans = 111 )
42  parameter ( PlasmaTrans = 112 )
43  parameter ( PlasmaConjTrans = 113 )
44 
45  integer PlasmaUpper, PlasmaLower
46  integer PlasmaUpperLower
47  parameter ( PlasmaUpper = 121 )
48  parameter ( PlasmaLower = 122 )
49  parameter ( PlasmaUpperLower = 123 )
50 
51  integer PlasmaNonUnit,PlasmaUnit
52  parameter ( PlasmaNonUnit = 131 )
53  parameter ( PlasmaUnit = 132 )
54 
55  integer PlasmaLeft,PlasmaRight
56  parameter ( PlasmaLeft = 141 )
57  parameter ( PlasmaRight = 142 )
58 
59  integer PlasmaOneNorm, PlasmaRealOneNorm
60  integer PlasmaTwoNorm, PlasmaFrobeniusNorm
61  integer PlasmaInfNorm, PlasmaRealInfNorm
62  integer PlasmaMaxNorm, PlasmaRealMaxNorm
63  parameter ( PlasmaOneNorm = 171 )
64  parameter ( PlasmaRealOneNorm = 172 )
65  parameter ( PlasmaTwoNorm = 173 )
66  parameter ( PlasmaFrobeniusNorm = 174 )
67  parameter ( PlasmaInfNorm = 175 )
68  parameter ( PlasmaRealInfNorm = 176 )
69  parameter ( PlasmaMaxNorm = 177 )
70  parameter ( PlasmaRealMaxNorm = 178 )
71 
72  integer PlasmaDistUniform
73  integer PlasmaDistSymmetric
74  integer PlasmaDistNormal
75  parameter ( PlasmaDistUniform = 201 )
76  parameter ( PlasmaDistSymmetric = 202 )
77  parameter ( PlasmaDistNormal = 203 )
78 
79  integer PlasmaHermGeev
80  integer PlasmaHermPoev
81  integer PlasmaNonsymPosv
82  integer PlasmaSymPosv
83  parameter ( PlasmaHermGeev = 241 )
84  parameter ( PlasmaHermPoev = 242 )
85  parameter ( PlasmaNonsymPosv = 243 )
86  parameter ( PlasmaSymPosv = 244 )
87 
88  integer PlasmaNoPacking
89  integer PlasmaPackSubdiag
90  integer PlasmaPackSupdiag
91  integer PlasmaPackColumn
92  integer PlasmaPackLowerBand
93  integer PlasmaPackRow
94  integer PlasmaPackUpeprBand
95  integer PlasmaPackAll
96  parameter ( PlasmaNoPacking = 291 )
97  parameter ( PlasmaPackSubdiag = 292 )
98  parameter ( PlasmaPackSupdiag = 293 )
99  parameter ( PlasmaPackColumn = 294 )
100  parameter ( PlasmaPackRow = 295 )
101  parameter ( PlasmaPackLowerBand = 296 )
102  parameter ( PlasmaPackUpeprBand = 297 )
103  parameter ( PlasmaPackAll = 298 )
104 
105  integer PlasmaNoVec,PlasmaVec,PlasmaIvec, PlasmaAllVec
106  parameter ( PlasmaNoVec = 301 )
107  parameter ( PlasmaVec = 302 )
108  parameter ( PlasmaIvec = 303 )
109  parameter ( PlasmaAllVec = 304 )
110 
111  integer PlasmaForward, PlasmaBackward
112  parameter ( PlasmaForward = 391 )
113  parameter ( PlasmaBackward = 392 )
114 
115  integer PlasmaColumnwise,PlasmaRowwise
116  parameter ( PlasmaColumnwise = 401 )
117  parameter ( PlasmaRowwise = 402 )
118 
119 !********************************************************************
120 ! PLASMA constants - boolean
121 !
122  integer PLASMA_FALSE, PLASMA_TRUE
123  parameter ( PLASMA_FALSE = 0 )
124  parameter ( PLASMA_TRUE = 1 )
125 
126 !********************************************************************
127 ! State machine switches
128 !
129  integer PLASMA_WARNINGS, PLASMA_ERRORS, PLASMA_AUTOTUNING
130  integer PLASMA_DAG
131  parameter ( PLASMA_WARNINGS = 1 )
132  parameter ( PLASMA_ERRORS = 2 )
133  parameter ( PLASMA_AUTOTUNING = 3 )
134  parameter ( PLASMA_DAG = 4 )
135 
136 !********************************************************************
137 ! PLASMA constants - configuration parameters
138 !
139  integer PLASMA_CONCURRENCY, PLASMA_TILE_SIZE
140  integer PLASMA_INNER_BLOCK_SIZE, PLASMA_SCHEDULING_MODE
141  integer PLASMA_HOUSEHOLDER_MODE, PLASMA_HOUSEHOLDER_SIZE
142  integer PLASMA_TRANSLATION_MODE
143  parameter ( PLASMA_CONCURRENCY = 1 )
144  parameter ( PLASMA_TILE_SIZE = 2 )
145  parameter ( PLASMA_INNER_BLOCK_SIZE = 3 )
146  parameter ( PLASMA_SCHEDULING_MODE = 4 )
147  parameter ( PLASMA_HOUSEHOLDER_MODE = 5 )
148  parameter ( PLASMA_HOUSEHOLDER_SIZE = 6 )
149  parameter ( PLASMA_TRANSLATION_MODE = 7 )
150 
151 !********************************************************************
152 ! PLASMA constants - scheduling mode
153 !
154  integer PLASMA_STATIC_SCHEDULING, PLASMA_DYNAMIC_SCHEDULING
155  parameter ( PLASMA_STATIC_SCHEDULING = 1 )
156  parameter ( PLASMA_DYNAMIC_SCHEDULING = 2 )
157 
158 !********************************************************************
159 ! PLASMA constants - householder mode
160 !
161  integer PLASMA_FLAT_HOUSEHOLDER, PLASMA_TREE_HOUSEHOLDER
162  parameter ( PLASMA_FLAT_HOUSEHOLDER = 1 )
163  parameter ( PLASMA_TREE_HOUSEHOLDER = 2 )
164 
165 !*********************************************************************
166 ! PLASMA constants - translation mode
167 !
168  integer PLASMA_INPLACE, PLASMA_OUTOFPLACE
169  parameter ( PLASMA_INPLACE = 1 )
170  parameter ( PLASMA_OUTOFPLACE = 2 )
171 
172 !********************************************************************
173 ! PLASMA constants - success & error codes
174 !
175  integer PLASMA_SUCCESS, PLASMA_ERR_NOT_INITIALIZED
176  integer PLASMA_ERR_REINITIALIZED, PLASMA_ERR_NOT_SUPPORTED
177  integer PLASMA_ERR_ILLEGAL_VALUE, PLASMA_ERR_NOT_FOUND
178  integer PLASMA_ERR_OUT_OF_MEMORY, PLASMA_ERR_INTERNAL_LIMIT
179  integer PLASMA_ERR_UNALLOCATED, PLASMA_ERR_FILESYSTEM
180  integer PLASMA_ERR_UNEXPECTED, PLASMA_ERR_SEQUENCE_FLUSHED
181  parameter ( PLASMA_SUCCESS = 0 )
182  parameter ( PLASMA_ERR_NOT_INITIALIZED = -101 )
183  parameter ( PLASMA_ERR_REINITIALIZED = -102 )
184  parameter ( PLASMA_ERR_NOT_SUPPORTED = -103 )
185  parameter ( PLASMA_ERR_ILLEGAL_VALUE = -104 )
186  parameter ( PLASMA_ERR_NOT_FOUND = -105 )
187  parameter ( PLASMA_ERR_OUT_OF_MEMORY = -106 )
188  parameter ( PLASMA_ERR_INTERNAL_LIMIT = -107 )
189  parameter ( PLASMA_ERR_UNALLOCATED = -108 )
190  parameter ( PLASMA_ERR_FILESYSTEM = -109 )
191  parameter ( PLASMA_ERR_UNEXPECTED = -110 )
192  parameter ( PLASMA_ERR_SEQUENCE_FLUSHED= -111 )