QUDA v0.4.0
A library for QCD on GPUs
Defines | Functions | Variables
quda/lib/dslash_core/dw_dslash_core.h File Reference
#include "read_gauge.h"
#include "io_spinor.h"

Go to the source code of this file.

Defines

#define SHARED_BYTES_DOUBLE   (BLOCK_DIM*SHARED_FLOATS_PER_THREAD*sizeof(double))
#define SHARED_BYTES_SINGLE   (BLOCK_DIM*SHARED_FLOATS_PER_THREAD*sizeof(float))
#define spinorFloat   float
#define i00_re   I0.x
#define i00_im   I0.y
#define i01_re   I0.z
#define i01_im   I0.w
#define i02_re   I1.x
#define i02_im   I1.y
#define i10_re   I1.z
#define i10_im   I1.w
#define i11_re   I2.x
#define i11_im   I2.y
#define i12_re   I2.z
#define i12_im   I2.w
#define i20_re   I3.x
#define i20_im   I3.y
#define i21_re   I3.z
#define i21_im   I3.w
#define i22_re   I4.x
#define i22_im   I4.y
#define i30_re   I4.z
#define i30_im   I4.w
#define i31_re   I5.x
#define i31_im   I5.y
#define i32_re   I5.z
#define i32_im   I5.w
#define g00_re   G0.x
#define g00_im   G0.y
#define g01_re   G0.z
#define g01_im   G0.w
#define g02_re   G1.x
#define g02_im   G1.y
#define g10_re   G1.z
#define g10_im   G1.w
#define g11_re   G2.x
#define g11_im   G2.y
#define g12_re   G2.z
#define g12_im   G2.w
#define g20_re   G3.x
#define g20_im   G3.y
#define g21_re   G3.z
#define g21_im   G3.w
#define g22_re   G4.x
#define g22_im   G4.y
#define A_re   G4.z
#define A_im   G4.w
#define gT00_re   (+g00_re)
#define gT00_im   (-g00_im)
#define gT01_re   (+g10_re)
#define gT01_im   (-g10_im)
#define gT02_re   (+g20_re)
#define gT02_im   (-g20_im)
#define gT10_re   (+g01_re)
#define gT10_im   (-g01_im)
#define gT11_re   (+g11_re)
#define gT11_im   (-g11_im)
#define gT12_re   (+g21_re)
#define gT12_im   (-g21_im)
#define gT20_re   (+g02_re)
#define gT20_im   (-g02_im)
#define gT21_re   (+g12_re)
#define gT21_im   (-g12_im)
#define gT22_re   (+g22_re)
#define gT22_im   (-g22_im)

Functions

 if (sid >=param.threads) return

Variables

volatile spinorFloat o00_re = o00_im = 0
volatile spinorFloat o00_im
volatile spinorFloat o01_re = o01_im = 0
volatile spinorFloat o01_im
volatile spinorFloat o02_re = o02_im = 0
volatile spinorFloat o02_im
volatile spinorFloat o10_re = o10_im = 0
volatile spinorFloat o10_im
volatile spinorFloat o11_re = o11_im = 0
volatile spinorFloat o11_im
volatile spinorFloat o12_re = o12_im = 0
volatile spinorFloat o12_im
volatile spinorFloat o20_re = o20_im = 0
volatile spinorFloat o20_im
volatile spinorFloat o21_re = o21_im = 0
volatile spinorFloat o21_im
volatile spinorFloat o22_re = o22_im = 0
volatile spinorFloat o22_im
volatile spinorFloat o30_re = o30_im = 0
volatile spinorFloat o30_im
volatile spinorFloat o31_re = o31_im = 0
volatile spinorFloat o31_im
volatile spinorFloat o32_re = o32_im = 0
volatile spinorFloat o32_im
int sid = blockIdx.x*blockDim.x + threadIdx.x
int boundaryCrossings = sid/X1h + sid/(X2*X1h) + sid/(X3*X2*X1h) + sid/(X4*X3*X2*X1h)
int boundaryCrossings4d = sid/X1h + sid/(X2*X1h) + sid/(X3*X2*X1h)
int X = 2*sid + (boundaryCrossings + param.parity) % 2
int xs = X/(X4*X3*X2*X1)
int x4 = (X/(X3*X2*X1)) % X4
int x3 = (X/(X2*X1)) % X3
int x2 = (X/X1) % X2
int x1 = X % X1

Define Documentation

#define A_im   G4.w

Definition at line 133 of file dw_dslash_core.h.

#define A_re   G4.z

Definition at line 132 of file dw_dslash_core.h.

#define g00_im   G0.y

Definition at line 110 of file dw_dslash_core.h.

#define g00_re   G0.x

Definition at line 109 of file dw_dslash_core.h.

#define g01_im   G0.w

Definition at line 112 of file dw_dslash_core.h.

#define g01_re   G0.z

Definition at line 111 of file dw_dslash_core.h.

#define g02_im   G1.y

Definition at line 114 of file dw_dslash_core.h.

#define g02_re   G1.x

Definition at line 113 of file dw_dslash_core.h.

#define g10_im   G1.w

Definition at line 117 of file dw_dslash_core.h.

#define g10_re   G1.z

Definition at line 116 of file dw_dslash_core.h.

#define g11_im   G2.y

Definition at line 119 of file dw_dslash_core.h.

#define g11_re   G2.x

Definition at line 118 of file dw_dslash_core.h.

#define g12_im   G2.w

Definition at line 121 of file dw_dslash_core.h.

#define g12_re   G2.z

Definition at line 120 of file dw_dslash_core.h.

#define g20_im   G3.y

Definition at line 125 of file dw_dslash_core.h.

#define g20_re   G3.x

Definition at line 124 of file dw_dslash_core.h.

#define g21_im   G3.w

Definition at line 127 of file dw_dslash_core.h.

#define g21_re   G3.z

Definition at line 126 of file dw_dslash_core.h.

#define g22_im   G4.y

Definition at line 129 of file dw_dslash_core.h.

#define g22_re   G4.x

Definition at line 128 of file dw_dslash_core.h.

#define gT00_im   (-g00_im)

Definition at line 139 of file dw_dslash_core.h.

#define gT00_re   (+g00_re)

Definition at line 138 of file dw_dslash_core.h.

#define gT01_im   (-g10_im)

Definition at line 141 of file dw_dslash_core.h.

#define gT01_re   (+g10_re)

Definition at line 140 of file dw_dslash_core.h.

#define gT02_im   (-g20_im)

Definition at line 143 of file dw_dslash_core.h.

#define gT02_re   (+g20_re)

Definition at line 142 of file dw_dslash_core.h.

#define gT10_im   (-g01_im)

Definition at line 145 of file dw_dslash_core.h.

#define gT10_re   (+g01_re)

Definition at line 144 of file dw_dslash_core.h.

#define gT11_im   (-g11_im)

Definition at line 147 of file dw_dslash_core.h.

#define gT11_re   (+g11_re)

Definition at line 146 of file dw_dslash_core.h.

#define gT12_im   (-g21_im)

Definition at line 149 of file dw_dslash_core.h.

#define gT12_re   (+g21_re)

Definition at line 148 of file dw_dslash_core.h.

#define gT20_im   (-g02_im)

Definition at line 151 of file dw_dslash_core.h.

#define gT20_re   (+g02_re)

Definition at line 150 of file dw_dslash_core.h.

#define gT21_im   (-g12_im)

Definition at line 153 of file dw_dslash_core.h.

#define gT21_re   (+g12_re)

Definition at line 152 of file dw_dslash_core.h.

#define gT22_im   (-g22_im)

Definition at line 155 of file dw_dslash_core.h.

#define gT22_re   (+g22_re)

Definition at line 154 of file dw_dslash_core.h.

#define i00_im   I0.y

Definition at line 58 of file dw_dslash_core.h.

#define i00_re   I0.x

Definition at line 57 of file dw_dslash_core.h.

#define i01_im   I0.w

Definition at line 60 of file dw_dslash_core.h.

#define i01_re   I0.z

Definition at line 59 of file dw_dslash_core.h.

#define i02_im   I1.y

Definition at line 62 of file dw_dslash_core.h.

#define i02_re   I1.x

Definition at line 61 of file dw_dslash_core.h.

#define i10_im   I1.w

Definition at line 64 of file dw_dslash_core.h.

#define i10_re   I1.z

Definition at line 63 of file dw_dslash_core.h.

#define i11_im   I2.y

Definition at line 66 of file dw_dslash_core.h.

#define i11_re   I2.x

Definition at line 65 of file dw_dslash_core.h.

#define i12_im   I2.w

Definition at line 68 of file dw_dslash_core.h.

#define i12_re   I2.z

Definition at line 67 of file dw_dslash_core.h.

#define i20_im   I3.y

Definition at line 70 of file dw_dslash_core.h.

#define i20_re   I3.x

Definition at line 69 of file dw_dslash_core.h.

#define i21_im   I3.w

Definition at line 72 of file dw_dslash_core.h.

#define i21_re   I3.z

Definition at line 71 of file dw_dslash_core.h.

#define i22_im   I4.y

Definition at line 74 of file dw_dslash_core.h.

#define i22_re   I4.x

Definition at line 73 of file dw_dslash_core.h.

#define i30_im   I4.w

Definition at line 76 of file dw_dslash_core.h.

#define i30_re   I4.z

Definition at line 75 of file dw_dslash_core.h.

#define i31_im   I5.y

Definition at line 78 of file dw_dslash_core.h.

#define i31_re   I5.x

Definition at line 77 of file dw_dslash_core.h.

#define i32_im   I5.w

Definition at line 80 of file dw_dslash_core.h.

#define i32_re   I5.z

Definition at line 79 of file dw_dslash_core.h.

#define SHARED_BYTES_DOUBLE   (BLOCK_DIM*SHARED_FLOATS_PER_THREAD*sizeof(double))

Definition at line 16 of file dw_dslash_core.h.

#define SHARED_BYTES_SINGLE   (BLOCK_DIM*SHARED_FLOATS_PER_THREAD*sizeof(float))

Definition at line 18 of file dw_dslash_core.h.

#define spinorFloat   float

Definition at line 56 of file dw_dslash_core.h.


Function Documentation

if ( sid >=param.  threads)

Variable Documentation

Definition at line 216 of file dw_dslash_core.h.

Definition at line 219 of file dw_dslash_core.h.

volatile spinorFloat o00_im

Definition at line 164 of file dw_dslash_core.h.

o00_re = o00_im = 0

Definition at line 163 of file dw_dslash_core.h.

volatile spinorFloat o01_im

Definition at line 166 of file dw_dslash_core.h.

o01_re = o01_im = 0

Definition at line 165 of file dw_dslash_core.h.

volatile spinorFloat o02_im

Definition at line 168 of file dw_dslash_core.h.

o02_re = o02_im = 0

Definition at line 167 of file dw_dslash_core.h.

volatile spinorFloat o10_im

Definition at line 170 of file dw_dslash_core.h.

o10_re = o10_im = 0

Definition at line 169 of file dw_dslash_core.h.

volatile spinorFloat o11_im

Definition at line 172 of file dw_dslash_core.h.

o11_re = o11_im = 0

Definition at line 171 of file dw_dslash_core.h.

volatile spinorFloat o12_im

Definition at line 174 of file dw_dslash_core.h.

o12_re = o12_im = 0

Definition at line 173 of file dw_dslash_core.h.

volatile spinorFloat o20_im

Definition at line 176 of file dw_dslash_core.h.

o20_re = o20_im = 0

Definition at line 175 of file dw_dslash_core.h.

volatile spinorFloat o21_im

Definition at line 178 of file dw_dslash_core.h.

o21_re = o21_im = 0

Definition at line 177 of file dw_dslash_core.h.

volatile spinorFloat o22_im

Definition at line 180 of file dw_dslash_core.h.

o22_re = o22_im = 0

Definition at line 179 of file dw_dslash_core.h.

volatile spinorFloat o30_im

Definition at line 182 of file dw_dslash_core.h.

o30_re = o30_im = 0

Definition at line 181 of file dw_dslash_core.h.

volatile spinorFloat o31_im

Definition at line 184 of file dw_dslash_core.h.

o31_re = o31_im = 0

Definition at line 183 of file dw_dslash_core.h.

volatile spinorFloat o32_im

Definition at line 186 of file dw_dslash_core.h.

o32_re = o32_im = 0

Definition at line 185 of file dw_dslash_core.h.

Definition at line 203 of file dw_dslash_core.h.

int X = 2*sid + (boundaryCrossings + param.parity) % 2

Definition at line 224 of file dw_dslash_core.h.

int x1 = X % X1

Definition at line 231 of file dw_dslash_core.h.

int x2 = (X/X1) % X2

Definition at line 230 of file dw_dslash_core.h.

int x3 = (X/(X2*X1)) % X3

Definition at line 229 of file dw_dslash_core.h.

int x4 = (X/(X3*X2*X1)) % X4

Definition at line 228 of file dw_dslash_core.h.

int xs = X/(X4*X3*X2*X1)

Definition at line 227 of file dw_dslash_core.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines