QUDA: quda/include/enum_quda_fortran.h Source File

QUDA  v1.1.0
A library for QCD on GPUs
enum_quda_fortran.h
Go to the documentation of this file.
1 #pragma once
2 
3 #/*
4 # enum_quda_fortran.h
5 #
6 # This is Fortran version of enum_quda.h. This is currently
7 # generated by hand, and so must be matched against an appropriate
8 # version of QUDA. It would be nice to auto-generate this from
9 # enum_quda.h and this should probably use Fortran enumerate types
10 # instead (this requires Fortran 2003, but this is covered by
11 # gfortran).
12 #*/
13 
14 #/* can't include limits.h in a Fortran program */
15  #define QUDA_INVALID_ENUM (-2147483647 - 1)
16 
17  #define QudaLinkType integer(4)
18 
19  #define QUDA_SUCCESS 0
20  #define QUDA_ERROR 1
21  #define QUDA_ERROR_UNINITIALIZED 2
22 
23  #define QUDA_MEMORY_DEVICE 0
24  #define QUDA_MEMORY_PINNED 1
25  #define QUDA_MEMORY_MAPPED 2
26  #define QUDA_MEMORY_INVALID QUDA_INVALID_ENUM
27 
28  #define QUDA_SU3_LINKS 0
29  #define QUDA_GENERAL_LINKS 1
30  #define QUDA_THREE_LINKS 2
31  #define QUDA_MOMENTUM_LINKS 3
32  #define QUDA_COARSE_LINKS 4
33  #define QUDA_SMEARED_LINKS 5
34 
35  #define QUDA_WILSON_LINKS QUDA_SU3_LINKS
36  #define QUDA_ASQTAD_FAT_LINKS QUDA_GENERAL_LINKS
37  #define QUDA_ASQTAD_LONG_LINKS QUDA_THREE_LINKS
38  #define QUDA_ASQTAD_MOM_LINKS QUDA_MOMENTUM_LINKS
39  #define QUDA_ASQTAD_GENERAL_LINKS QUDA_GENERAL_LINKS
40  #define QUDA_INVALID_LINKS QUDA_INVALID_ENUM
41 
42  #define QudaGaugeFieldOrder integer(4)
43  #define QUDA_FLOAT_GAUGE_ORDER 1
44  #define QUDA_FLOAT2_GAUGE_ORDER 2 //no reconstruct and double precision
45  #define QUDA_FLOAT4_GAUGE_ORDER 4 // 8 reconstruct single, and 12 reconstruct single, half, quarter
46  #define QUDA_FLOAT8_GAUGE_ORDER 8 // 8 reconstruct half and quarter
47  #define QUDA_NATIVE_GAUGE_ORDER 9 // used to denote one of the above types in a trait, not used directly
48  #define QUDA_QDP_GAUGE_ORDER 10 // expect *gauge[4] even-odd spacetime row-column color
49  #define QUDA_QDPJIT_GAUGE_ORDER 11 // expect *gauge[4] even-odd spacetime row-column color
50  #define QUDA_CPS_WILSON_GAUGE_ORDER 12 // expect *gauge even-odd spacetime column-row color
51  #define QUDA_MILC_GAUGE_ORDER 13 // expect *gauge even-odd mu spacetime row-column order
52  #define QUDA_MILC_SITE_GAUGE_ORDER \
53  14 // packed into MILC site AoS [even-odd][spacetime] array, and [dir][row][col] inside
54  #define QUDA_BQCD_GAUGE_ORDER 15 // expect *gauge mu even-odd spacetime+halos row-column order
55  #define QUDA_TIFR_GAUGE_ORDER 16
56  #define QUDA_TIFR_PADDED_GAUGE_ORDER 17
57  #define QUDA_INVALID_GAUGE_ORDER QUDA_INVALID_ENUM
58 
59  #define QudaTboundary integer(4)
60  #define QUDA_ANTI_PERIODIC_T -1
61  #define QUDA_PERIODIC_T 1
62  #define QUDA_INVALID_T_BOUNDARY QUDA_INVALID_ENUM
63 
64  #define QudaPrecision integer(4)
65  #define QUDA_QUARTER_PRECISION 1
66  #define QUDA_HALF_PRECISION 2
67  #define QUDA_SINGLE_PRECISION 4
68  #define QUDA_DOUBLE_PRECISION 8
69  #define QUDA_INVALID_PRECISION QUDA_INVALID_ENUM
70 
71  #define QudaReconstructType integer(4)
72  #define QUDA_RECONSTRUCT_NO 18
73  #define QUDA_RECONSTRUCT_12 12
74  #define QUDA_RECONSTRUCT_8 8
75  #define QUDA_RECONSTRUCT_9 9
76  #define QUDA_RECONSTRUCT_13 13
77  #define QUDA_RECONSTRUCT_10 10
78  #define QUDA_RECONSTRUCT_INVALID QUDA_INVALID_ENUM
79 
80  #define QudaGaugeFixed integer(4)
81  #define QUDA_GAUGE_FIXED_NO 0
82  #define QUDA_GAUGE_FIXED_YES 1 // gauge field stored in temporal gauge
83  #define QUDA_GAUGE_FIXED_INVALID QUDA_INVALID_ENUM
84 
85 ! Types used in QudaInvertParam
86 
87  #define QudaDslashType integer(4)
88  #define QUDA_WILSON_DSLASH 0
89  #define QUDA_CLOVER_WILSON_DSLASH 1
90  #define QUDA_CLOVER_HASENBUSCH_TWIST_DSLASH 2
91  #define QUDA_DOMAIN_WALL_DSLASH 3
92  #define QUDA_DOMAIN_WALL_4D_DSLASH 4
93  #define QUDA_MOBIUS_DWF_DSLASH 5
94  #define QUDA_MOBIUS_DWF_EOFA_DSLASH 6
95  #define QUDA_STAGGERED_DSLASH 7
96  #define QUDA_ASQTAD_DSLASH 8
97  #define QUDA_TWISTED_MASS_DSLASH 9
98  #define QUDA_TWISTED_CLOVER_DSLASH 10
99  #define QUDA_LAPLACE_DSLASH 11
100  #define QUDA_COVDEV_DSLASH 12
101  #define QUDA_INVALID_DSLASH QUDA_INVALID_ENUM
102 
103  #define QudaInverterType integer(4)
104  #define QUDA_CG_INVERTER 0
105  #define QUDA_BICGSTAB_INVERTER 1
106  #define QUDA_GCR_INVERTER 2
107  #define QUDA_MR_INVERTER 3
108  #define QUDA_MPBICGSTAB_INVERTER 4
109  #define QUDA_SD_INVERTER 5
110  #define QUDA_XSD_INVERTER 6
111  #define QUDA_PCG_INVERTER 7
112  #define QUDA_MPCG_INVERTER 8
113  #define QUDA_EIGCG_INVERTER 9
114  #define QUDA_INC_EIGCG_INVERTER 10
115  #define QUDA_GMRESDR_INVERTER 11
116  #define QUDA_GMRESDR_PROJ_INVERTER 12
117  #define QUDA_GMRESDR_SH_INVERTER 13
118  #define QUDA_FGMRESDR_INVERTER 14
119  #define QUDA_MG_INVERTER 15
120  #define QUDA_BICGSTABL_INVERTER 16
121  #define QUDA_CGNE_INVERTER 17
122  #define QUDA_CGNR_INVERTER 18
123  #define QUDA_CG3_INVERTER 19
124  #define QUDA_CG3NE_INVERTER 20
125  #define QUDA_CG3NR_INVERTER 21
126  #define QUDA_CA_CG_INVERTER 22
127  #define QUDA_CA_CGNE_INVERTER 23
128  #define QUDA_CA_CGNR_INVERTER 24
129  #define QUDA_CA_GCR_INVERTER 25
130  #define QUDA_INVALID_INVERTER QUDA_INVALID_ENUM
131 
132  #define QudaEigType integer(4)
133  #define QUDA_EIG_TR_LANCZOS 0 // Thick Restarted Lanczos Solver
134  #define QUDA_EIG_BLK_IR_LANCZOS 1 // Block Thick Restarted Lanczos Solver
135  #define QUDA_EIG_IR_ARNOLDI 2 // Implicitly restarted Arnoldi solver
136  #define QUDA_EIG_BLK_IR_ARNOLDI 3 // Block Implicitly restarted Arnoldi solver (not yet implemented)
137  #define QUDA_EIG_INVALID QUDA_INVALID_ENUM
138 
139  #define QudaEigSpectrumType integer(4)
140  #define QUDA_SPECTRUM_LM_EIG 0
141  #define QUDA_SPECTRUM_SM_EIG 1
142  #define QUDA_SPECTRUM_LR_EIG 2
143  #define QUDA_SPECTRUM_SR_EIG 3
144  #define QUDA_SPECTRUM_LI_EIG 4
145  #define QUDA_SPECTRUM_SI_EIG 5
146  #define QUDA_SPECTRUM_INVALID QUDA_INVALID_ENUM
147 
148  #define QudaSolutionType integer(4)
149  #define QUDA_MAT_SOLUTION 0
150  #define QUDA_MATDAG_MAT_SOLUTION 1
151  #define QUDA_MATPC_SOLUTION 2
152  #define QUDA_MATPC_DAG_SOLUTION 3
153  #define QUDA_MATPCDAG_MATPC_SOLUTION 4
154  #define QUDA_MATPCDAG_MATPC_SHIFT_SOLUTION 5
155  #define QUDA_INVALID_SOLUTION QUDA_INVALID_ENUM
156 
157  #define QudaSolveType integer(4)
158  #define QUDA_DIRECT_SOLVE 0
159  #define QUDA_NORMOP_SOLVE 1
160  #define QUDA_DIRECT_PC_SOLVE 2
161  #define QUDA_NORMOP_PC_SOLVE 3
162  #define QUDA_NORMERR_SOLVE 4
163  #define QUDA_NORMERR_PC_SOLVE 5
164  #define QUDA_NORMEQ_SOLVE QUDA_NORMOP_SOLVE // deprecated
165  #define QUDA_NORMEQ_PC_SOLVE QUDA_NORMOP_PC_SOLVE // deprecated
166  #define QUDA_INVALID_SOLVE QUDA_INVALID_ENUM
167 
168  #define QudaMultigridCycleType integer(4)
169  #define QUDA_MG_CYCLE_VCYCLE 0
170  #define QUDA_MG_CYCLE_FCYCLE 1
171  #define QUDA_MG_CYCLE_WCYCLE 2
172  #define QUDA_MG_CYCLE_RECURSIVE 3
173  #define QUDA_MG_CYCLE_INVALID QUDA_INVALID_ENUM
174 
175  #define QudaSchwarzType integer(4)
176  #define QUDA_ADDITIVE_SCHWARZ 0
177  #define QUDA_MULTIPLICATIVE_SCHWARZ 1
178  #define QUDA_INVALID_SCHWARZ QUDA_INVALID_ENUM
179 
180  #define QudaResidualType integer(4)
181  #define QUDA_L2_RELATIVE_RESIDUAL 1
182  #define QUDA_L2_ABSOLUTE_RESIDUAL 2
183  #define QUDA_HEAVY_QUARK_RESIDUAL 4
184  #define QUDA_INVALID_RESIDUAL QUDA_INVALID_ENUM
185 
186  #define QudaCABasis integer(4)
187  #define QUDA_POWER_BASIS 0
188  #define QUDA_CHEBYSHEV_BASIS 1
189  #define QUDA_INVALID_BASIS QUDA_INVALID_ENUM
190 
191 #/*
192  # Whether the preconditioned matrix is (1-k^2 Deo Doe) or (1-k^2 Doe Deo)
193  #
194  # For the clover-improved Wilson Dirac operator QUDA_MATPC_EVEN_EVEN
195  # defaults to the "symmetric" form (1 - k^2 A_ee^-1 D_eo A_oo^-1 D_oe)
196  # and likewise for QUDA_MATPC_ODD_ODD.
197  #
198  # For the "asymmetric" form (A_ee - k^2 D_eo A_oo^-1 D_oe) select
199  # QUDA_MATPC_EVEN_EVEN_ASYMMETRIC.
200  # */
201 
202  #define QudaMatPCType integer(4)
203  #define QUDA_MATPC_EVEN_EVEN 0
204  #define QUDA_MATPC_ODD_ODD 1
205  #define QUDA_MATPC_EVEN_EVEN_ASYMMETRIC 2
206  #define QUDA_MATPC_ODD_ODD_ASYMMETRIC 3
207  #define QUDA_MATPC_INVALID QUDA_INVALID_ENUM
208 
209  #define QudaDagType integer(4)
210  #define QUDA_DAG_NO 0
211  #define QUDA_DAG_YES 1
212  #define QUDA_DAG_INVALID QUDA_INVALID_ENUM
213 
214  #define QudaMassNormalization integer(4)
215  #define QUDA_KAPPA_NORMALIZATION 0
216  #define QUDA_MASS_NORMALIZATION 1
217  #define QUDA_ASYMMETRIC_MASS_NORMALIZATION 2
218  #define QUDA_INVALID_NORMALIZATION QUDA_INVALID_ENUM
219 
220  #define QudaSolverNormalization integer(4)
221  #define QUDA_DEFAULT_NORMALIZATION 0 // leave source and solution untouched
222  #define QUDA_SOURCE_NORMALIZATION 1 // normalize such that || src || = 1
223 
224  #define QudaPreserveSource integer(4)
225  #define QUDA_PRESERVE_SOURCE_NO 0 // use the source for the residual
226  #define QUDA_PRESERVE_SOURCE_YES 1
227  #define QUDA_PRESERVE_SOURCE_INVALID QUDA_INVALID_ENUM
228 
229  #define QudaDiracFieldOrder integer(4)
230  #define QUDA_INTERNAL_DIRAC_ORDER 0 // internal dirac order used by QUDA varies depending on precision and dslash type
231  #define QUDA_DIRAC_ORDER 1
232  #define QUDA_QDP_DIRAC_ORDER 2 // even-odd spin inside color
233  #define QUDA_QDPJIT_DIRAC_ORDER 3 // even-odd, complex-color-spin-spacetime
234  #define QUDA_CPS_WILSON_DIRAC_ORDER 4 // odd-even color inside spin
235  #define QUDA_LEX_DIRAC_ORDER 5 // lexicographical order color inside spin
236  #define QUDA_TIFR_PADDED_DIRAC_ORDER 6
237  #define QUDA_INVALID_DIRAC_ORDER QUDA_INVALID_ENUM
238 
239  #define QudaCloverFieldOrder integer(4)
240  #define QUDA_FLOAT_CLOVER_ORDER 1 // even-odd float ordering
241  #define QUDA_FLOAT2_CLOVER_ORDER 2 // even-odd float2 ordering
242  #define QUDA_FLOAT4_CLOVER_ORDER 4 // even-odd float4 ordering
243  #define QUDA_PACKED_CLOVER_ORDER 5 // even-odd packed
244  #define QUDA_QDPJIT_CLOVER_ORDER 6 // lexicographical order packed
245  #define QUDA_BQCD_CLOVER_ORDER 7 // BQCD order which is a packed super-diagonal form
246  #define QUDA_INVALID_CLOVER_ORDER QUDA_INVALID_ENUM
247 
248  #define QudaVerbosity integer(4)
249  #define QUDA_SILENT 0
250  #define QUDA_SUMMARIZE 1
251  #define QUDA_VERBOSE 2
252  #define QUDA_DEBUG_VERBOSE 3
253  #define QUDA_INVALID_VERBOSITY QUDA_INVALID_ENUM
254 
255  #define QudaTune integer(4)
256  #define QUDA_TUNE_NO 0
257  #define QUDA_TUNE_YES 1
258  #define QUDA_TUNE_INVALID QUDA_INVALID_ENUM
259 
260  #define QudaPreserveDirac integer(4)
261  #define QUDA_PRESERVE_DIRAC_NO 0
262  #define QUDA_PRESERVE_DIRAC_YES 1
263  #define QUDA_PRESERVE_DIRAC_INVALID QUDA_INVALID_ENUM
264 
265 ! Type used for "parity" argument to dslashQuda()
266 
267 #define QudaParity integer(4)
268 #define QUDA_EVEN_PARITY 0
269 #define QUDA_ODD_PARITY 1
270 #define QUDA_INVALID_PARITY QUDA_INVALID_ENUM
271 
272 ! Types used only internally
273 
274 #define QudaDiracType integer(4)
275 #define QUDA_WILSON_DIRAC 0
276 #define QUDA_WILSONPC_DIRAC 1
277 #define QUDA_CLOVER_DIRAC 2
278 #define QUDA_CLOVERPC_DIRAC 3
279 #define QUDA_CLOVER_HASENBUSCH_TWIST_DIRAC 4
280 #define QUDA_CLOVER_HASENBUSCH_TWISTPC_DIRAC 5
281 #define QUDA_DOMAIN_WALL_DIRAC 6
282 #define QUDA_DOMAIN_WALLPC_DIRAC 7
283 #define QUDA_DOMAIN_WALL_4D_DIRAC 8
284 #define QUDA_DOMAIN_WALL_4DPC_DIRAC 9
285 #define QUDA_MOBIUS_DOMAIN_WALL_DIRAC 10
286 #define QUDA_MOBIUS_DOMAIN_WALLPC_DIRAC 11
287 #define QUDA_MOBIUS_DOMAIN_WALL_EOFA_DIRAC 12
288 #define QUDA_MOBIUS_DOMAIN_WALLPC_EOFA_DIRAC 13
289 #define QUDA_STAGGERED_DIRAC 14
290 #define QUDA_STAGGEREDPC_DIRAC 15
291 #define QUDA_STAGGEREDKD_DIRAC 16
292 #define QUDA_ASQTAD_DIRAC 17
293 #define QUDA_ASQTADPC_DIRAC 18
294 #define QUDA_ASQTADKD_DIRAC 19
295 #define QUDA_TWISTED_MASS_DIRAC 20
296 #define QUDA_TWISTED_MASSPC_DIRAC 21
297 #define QUDA_TWISTED_CLOVER_DIRAC 22
298 #define QUDA_TWISTED_CLOVERPC_DIRAC 23
299 #define QUDA_COARSE_DIRAC 24
300 #define QUDA_COARSEPC_DIRAC 25
301 #define QUDA_GAUGE_LAPLACE_DIRAC 26
302 #define QUDA_GAUGE_LAPLACEPC_DIRAC 27
303 #define QUDA_GAUGE_COVDEV_DIRAC 28
304 #define QUDA_INVALID_DIRAC QUDA_INVALID_ENUM
305 
306 ! Where the field is stored
307 #define QudaFieldLocation integer(4)
308 #define QUDA_CPU_FIELD_LOCATION 1
309 #define QUDA_CUDA_FIELD_LOCATION 2
310 #define QUDA_INVALID_FIELD_LOCATION QUDA_INVALID_ENUM
311 
312 ! Which sites are included
313 #define QudaSiteSubset integer(4)
314 #define QUDA_PARITY_SITE_SUBSET 1
315 #define QUDA_FULL_SITE_SUBSET 2
316 #define QUDA_INVALID_SITE_SUBSET QUDA_INVALID_ENUM
317 
318 ! Site ordering (always t-z-y-x with rightmost varying fastest)
319 #define QudaSiteOrder integer(4)
320 #define QUDA_LEXICOGRAPHIC_SITE_ORDER 0 // lexicographic ordering
321 #define QUDA_EVEN_ODD_SITE_ORDER 1 // QUDA and QDP use this
322 #define QUDA_ODD_EVEN_SITE_ORDER 2 // CPS uses this
323 #define QUDA_INVALID_SITE_ORDER QUDA_INVALID_ENUM
324 
325 ! Degree of freedom ordering
326 #define QudaFieldOrder integer(4)
327 #define QUDA_FLOAT_FIELD_ORDER 1 // spin-color-complex-space
328 #define QUDA_FLOAT2_FIELD_ORDER 2 // (spin-color-complex)/2-space-(spin-color-complex)%2
329 #define QUDA_FLOAT4_FIELD_ORDER 4 // (spin-color-complex)/4-space-(spin-color-complex)%4
330 #define QUDA_FLOAT8_FIELD_ORDER 8 // (spin-color-complex)/8-space-(spin-color-complex)%8
331 #define QUDA_SPACE_SPIN_COLOR_FIELD_ORDER 9 // CPS/QDP++ ordering
332 #define QUDA_SPACE_COLOR_SPIN_FIELD_ORDER 10 // QLA ordering (spin inside color)
333 #define QUDA_QDPJIT_FIELD_ORDER 11 // QDP field ordering (complex-color-spin-spacetime)
334 #define QUDA_QOP_DOMAIN_WALL_FIELD_ORDER 12 // QOP domain-wall ordering
335 #define QUDA_PADDED_SPACE_SPIN_COLOR_FIELD_ORDER 13 // TIFR RHMC ordering
336 #define QUDA_INVALID_FIELD_ORDER QUDA_INVALID_ENUM
337 
338 #define QudaFieldCreate integer(4)
339 #define QUDA_NULL_FIELD_CREATE 0 // create new field
340 #define QUDA_ZERO_FIELD_CREATE 1 // create new field and zero it
341 #define QUDA_COPY_FIELD_CREATE 2 // create copy to field
342 #define QUDA_REFERENCE_FIELD_CREATE 3 // create reference to field
343 #define QUDA_INVALID_FIELD_CREATE QUDA_INVALID_ENUM
344 
345 #define QudaGammaBasis integer(4)
346 #define QUDA_DEGRAND_ROSSI_GAMMA_BASIS 0
347 #define QUDA_UKQCD_GAMMA_BASIS 1
348 #define QUDA_CHIRAL_GAMMA_BASIS 2
349 #define QUDA_INVALID_GAMMA_BASIS QUDA_INVALID_ENUM
350 
351 #define QudaSourceType integer(4)
352 #define QUDA_POINT_SOURCE 0
353 #define QUDA_RANDOM_SOURCE 1
354 #define QUDA_CONSTANT_SOURCE 2
355 #define QUDA_SINUSOIDAL_SOURCE 3
356 #define QUDA_CORNER_SOURCE 4
357 #define QUDA_INVALID_SOURCE QUDA_INVALID_ENUM
358 
359 #define QudaNoiseType integer(4)
360 #define QUDA_NOISE_GAUSS 0
361 #define QUDA_NOISE_UNIFORM 1
362 #define QUDA_NOISE_INVALID QUDA_INVALID_ENUM
363 
364 #define QudaProjectionType integer(4)
365 #define QUDA_MINRES_PROJECTION 0
366 #define QUDA_GALERKIN_PROJECTION 1
367 #define QUDA_INVALID_PROJECTION QUDA_INVALID_ENUM
368 
369 #define QudaPCType integer(4)
370 #define QUDA_4D_PC 4
371 #define QUDA_5D_PC 5
372 #define QUDA_PC_INVALID QUDA_INVALID_ENUM
373 
374 #define QudaTwistFlavorType integer(4)
375 #define QUDA_TWIST_SINGLET 1
376 #define QUDA_TWIST_NONDEG_DOUBLET +2
377 #define QUDA_TWIST_DEG_DOUBLET -2
378 #define QUDA_TWIST_NO 0
379 #define QUDA_TWIST_INVALID QUDA_INVALID_ENUM
380 
381 #define QudaTwistDslashType integer(4)
382 #define QUDA_DEG_TWIST_INV_DSLASH 0
383 #define QUDA_DEG_DSLASH_TWIST_INV 1
384 #define QUDA_DEG_DSLASH_TWIST_XPAY 2
385 #define QUDA_NONDEG_DSLASH 3
386 #define QUDA_DSLASH_INVALID QUDA_INVALID_ENUM
387 
388 #define QudaTwistCloverDslashType integer(4)
389 #define QUDA_DEG_CLOVER_TWIST_INV_DSLASH 0
390 #define QUDA_DEG_DSLASH_CLOVER_TWIST_INV 1
391 #define QUDA_DEG_DSLASH_CLOVER_TWIST_XPAY 2
392 #define QUDA_TC_DSLASH_INVALID QUDA_INVALID_ENUM
393 
394 #define QudaTwistGamma5Type integer(4)
395 #define QUDA_TWIST_GAMMA5_DIRECT 0
396 #define QUDA_TWIST_GAMMA5_INVERSE 1
397 #define QUDA_TWIST_GAMMA5_INVALID QUDA_INVALID_ENUM
398 
399 #define QudaUseInitGuess integer(4)
400 #define QUDA_USE_INIT_GUESS_NO 0
401 #define QUDA_USE_INIT_GUESS_YES 1
402 #define QUDA_USE_INIT_GUESS_INVALID QUDA_INVALID_ENUM
403 
404 #define QudaComputeNullVector integer(4)
405 #define QUDA_COMPUTE_NULL_VECTOR_NO 0
406 #define QUDA_COMPUTE_NULL_VECTOR_YES 1
407 #define QUDA_COMPUTE_NULL_VECTOR_INVALID QUDA_INVALID_ENUM
408 
409 #define QudaSetupType integer(4)
410 #define QUDA_NULL_VECTOR_SETUP 0
411 #define QUDA_TEST_VECTOR_SETUP 1
412 #define QUDA_INVALID_SETUP_TYPE QUDA_INVALID_ENUM
413 
414 #define QudaTransferType integer(4)
415 #define QUDA_TRANSFER_AGGREGATE 0
416 #define QUDA_TRANSFER_COARSE_KD 1
417 #define QUDA_TRANSFER_OPTIMIZED_KD 2
418 #define QUDA_TRANSFER_INVALID QUDA_INVALID_ENUM
419 
420 #define QudaBoolean integer(4)
421 #define QUDA_BOOLEAN_FALSE 0
422 #define QUDA_BOOLEAN_TRUE 1
423 #define QUDA_BOOLEAN_INVALID QUDA_INVALID_ENUM
424 #define QUDA_BOOLEAN_NO QUDA_BOOLEAN_FALSE // backwards compatibility
425 #define QUDA_BOOLEAN_YES QUDA_BOOLEAN_TRUE // backwards compatibility
426 
427 #define QudaBLASOperation integer(4)
428 #define QUDA_BLAS_OP_N = 0 // No transpose
429 #define QUDA_BLAS_OP_T = 1 // Transpose only
430 #define QUDA_BLAS_OP_C = 2 // Conjugate transpose
431 #define QUDA_BLAS_OP_INVALID QUDA_INVALID_ENUM
432 
433 #define QudaBLASDataType integer(4)
434 #define QUDA_BLAS_DATATYPE_S 0 // Single
435 #define QUDA_BLAS_DATATYPE_D 1 // Double
436 #define QUDA_BLAS_DATATYPE_C 2 // Complex(single)
437 #define QUDA_BLAS_DATATYPE_Z 3 // Complex(double)
438 #define QUDA_BLAS_DATATYPE_INVALID QUDA_INVALID_ENUM
439 
440 #define QudaBLASDataOrder integer(4)
441 #define QUDA_BLAS_DATAORDER_ROW 0
442 #define QUDA_BLAS_DATAORDER_COL 1
443 #define QUDA_BLAS_DATAORDER_INVALID QUDA_INVALID_ENUM
444 
445 #define QudaDirection integer(4)
446 #define QUDA_BACKWARDS -1
447 #define QUDA_FORWARDS +1
448 #define QUDA_BOTH_DIRS 2
449 
450 #define QudaLinkDirection integer(4)
451 #define QUDA_LINK_BACKWARDS 0
452 #define QUDA_LINK_FORWARDS 1
453 #define QUDA_LINK_BIDIRECTIONAL 2
454 
455 #define QudaFieldGeometry integer(4)
456 #define QUDA_SCALAR_GEOMETRY 1
457 #define QUDA_VECTOR_GEOMETRY 4
458 #define QUDA_TENSOR_GEOMETRY 6
459 #define QUDA_COARSE_GEOMETRY 8
460 #define QUDA_INVALID_GEOMETRY QUDA_INVALID_ENUM
461 
462 #define QudaGhostExchange integer(4)
463 #define QUDA_GHOST_EXCHANGE_NO 0
464 #define QUDA_GHOST_EXCHANGE_PAD 1
465 #define QUDA_GHOST_EXCHANGE_EXTENDED 2
466 #define QUDA_GHOST_EXCHANGE_INVALID QUDA_INVALID_ENUM
467 
468 #define QudaStaggeredPhase integer(4)
469 #define QUDA_STAGGERED_PHASE_NO 0
470 #define QUDA_STAGGERED_PHASE_MILC 1
471 #define QUDA_STAGGERED_PHASE_CPS 2
472 #define QUDA_STAGGERED_PHASE_TIFR 3
473 #define QUDA_STAGGERED_PHASE_INVALID QUDA_INVALID_ENUM
474 
475 #define QudaContractType integer(4)
476 #define QUDA_CONTRACT_TYPE_OPEN ,
477 #define QUDA_CONTRACT_TYPE_DR ,
478 #define QUDA_CONTRACT_TYPE_INVALID = QUDA_INVALID_ENUM
479 
480 #define QudaContractGamma integer(4)
481 #define QUDA_CONTRACT_GAMMA_I 0
482 #define QUDA_CONTRACT_GAMMA_G1 1
483 #define QUDA_CONTRACT_GAMMA_G2 2
484 #define QUDA_CONTRACT_GAMMA_G3 3
485 #define QUDA_CONTRACT_GAMMA_G4 4
486 #define QUDA_CONTRACT_GAMMA_G5 5
487 #define QUDA_CONTRACT_GAMMA_G1G5 6
488 #define QUDA_CONTRACT_GAMMA_G2G5 7
489 #define QUDA_CONTRACT_GAMMA_G3G5 8
490 #define QUDA_CONTRACT_GAMMA_G4G5 9
491 #define QUDA_CONTRACT_GAMMA_S12 10
492 #define QUDA_CONTRACT_GAMMA_S13 11
493 #define QUDA_CONTRACT_GAMMA_S14 12
494 #define QUDA_CONTRACT_GAMMA_S21 13
495 #define QUDA_CONTRACT_GAMMA_S23 14
496 #define QUDA_CONTRACT_GAMMA_S34 15
497 #define QUDA_CONTRACT_GAMMA_INVALID QUDA_INVALID_ENUM
498 
499 #define QudaExtLibType integer(4)
500 #define QUDA_CUSOLVE_EXTLIB 0
501 #define QUDA_EIGEN_EXTLIB 1
502 #define QUDA_MAGMA_EXTLIB 2
503 #define QUDA_EXTLIB_INVALID QUDA_INVALID_ENUM
dslashQuda
void dslashQuda(void *h_out, void *h_in, QudaInvertParam *inv_param, QudaParity parity)
Definition: interface_quda.cpp:1934

Generated on Thu Oct 28 2021 16:10:26 for QUDA by doxygen 1.9.1

AltStyle によって変換されたページ (->オリジナル) /