23typedef enum comm_t { CPU_COMM = 1 << 0, GPU_COMM = 1 << 1 } comm_t;
24#define ALL_COMMS (CPU_COMM | GPU_COMM)
27typedef enum mem_t { CPU_MEM = 1 << 0, GPU_MEM = 1 << 1 } mem_t;
40#define _GPU_FIELD_DATA(_type)
43#define _GPU_FIELD_DATA(_type) _type *gpu_ptr;
51#define _MPI_FIELD_DATA(_type)
54#define _MPI_FIELD_DATA(_type) \
55 MPI_Request *comm_req; \
57 _type *sendbuf_gpu_ptr; \
58 _type *recvbuf_gpu_ptr;
70#define _DECLARE_FIELD_STRUCT(_name, _type) \
71 typedef struct _name { \
73 geometry_descriptor *type; \
75 _MPI_FIELD_DATA(_type) \
76 _GPU_FIELD_DATA(_type) \
338#define _FIELD_TYPE spinor_field
340#include "TMPL/spinor_field.h.tmpl"
342#define _FIELD_TYPE spinor_field_flt
344#include "TMPL/spinor_field.h.tmpl"
346#define _FIELD_TYPE scalar_field
348#include "TMPL/spinor_field.h.tmpl"
350#define _FIELD_TYPE suNg_field
352#include "TMPL/spinor_field.h.tmpl"
354#define _FIELD_TYPE suNg_field_flt
356#include "TMPL/spinor_field.h.tmpl"
358#define _FIELD_TYPE suNf_field
360#include "TMPL/spinor_field.h.tmpl"
362#define _FIELD_TYPE suNf_field_flt
364#include "TMPL/spinor_field.h.tmpl"
366#define _FIELD_TYPE suNg_scalar_field
368#include "TMPL/spinor_field.h.tmpl"
370#define _FIELD_TYPE suNg_av_field
372#include "TMPL/spinor_field.h.tmpl"
374#define _FIELD_TYPE gtransf
376#include "TMPL/spinor_field.h.tmpl"
378#define _FIELD_TYPE ldl_field
380#include "TMPL/spinor_field.h.tmpl"
382#define _FIELD_TYPE clover_term
384#include "TMPL/spinor_field.h.tmpl"
386#define _FIELD_TYPE clover_force
388#include "TMPL/spinor_field.h.tmpl"
390#define _FIELD_TYPE staple_field
392#include "TMPL/spinor_field.h.tmpl"
Geometry descriptor struct, that contains all necessary information for multi-node/ multi-GPU calcula...
#define _DECLARE_FIELD_STRUCT(_name, _type)
This macro declares a field struct that contains all necessary field data arrays, geometry informatio...
Definition spinor_field.h:70
Clover Force.
Definition spinor_field.h:304
Clover term.
Definition spinor_field.h:288
Gauge transformation.
Definition spinor_field.h:336
LDL decomposition field needed for clover improvement.
Definition spinor_field.h:256
Scalar field of double precision real values.
Definition spinor_field.h:240
Spinor field array containing single precision SU(N_f) spinors in chosen fermion representation.
Definition spinor_field.h:207
Spinor field array containing SU(N_f) spinors in chosen fermion representation.
Definition spinor_field.h:189
Staple field for Luescher-Weisz
Definition spinor_field.h:320
Single precision gauge field in the chosen fermion representation.
Definition spinor_field.h:171
Gauge field in chosen fermion representation.
Definition spinor_field.h:153
Complexified su(N_f) field field.
Definition spinor_field.h:272
Field of SU(N_g) algebra vectors.
Definition spinor_field.h:224
Gauge field of single precision SU(N_g) matrices.
Definition spinor_field.h:135
Gauge field of SU(N_g) matrices.
Definition spinor_field.h:98
SU(N_g) scalar field of SU(N_g) vectors.
Definition spinor_field.h:117