QUDA v0.3.2
A library for QCD on GPUs
Defines | Variables

quda/lib/dslash_core/tm_dslash_dagger_core.h File Reference

#include "read_gauge.h"
#include "read_clover.h"
#include "io_spinor.h"

Go to the source code of this file.

Defines

#define SHARED_FLOATS_PER_THREAD   8
#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)
#define o00_re   s[0*SHARED_STRIDE]
#define o00_im   s[1*SHARED_STRIDE]
#define o01_re   s[2*SHARED_STRIDE]
#define o01_im   s[3*SHARED_STRIDE]
#define o02_re   s[4*SHARED_STRIDE]
#define o02_im   s[5*SHARED_STRIDE]
#define o10_re   s[6*SHARED_STRIDE]
#define o10_im   s[7*SHARED_STRIDE]
#define SHARED_STRIDE   16

Variables

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 z1 = FAST_INT_DIVIDE(sid, X1h)
int x1h = sid - z1*X1h
int z2 = FAST_INT_DIVIDE(z1, X2)
int x2 = z1 - z2*X2
int x4 = FAST_INT_DIVIDE(z2, X3)
int x3 = z2 - x4*X3
int x1odd = (x2 + x3 + x4 + oddBit) & 1
int x1 = 2*x1h + x1odd
int X = 2*sid + x1odd
__shared__ spinorFloat ss_data []
volatile spinorFloat * s
 o00_re = o00_im = 0
 o01_re = o01_im = 0
 o02_re = o02_im = 0
 o10_re = o10_im = 0

Define Documentation

#define A_im   G4.w

Definition at line 106 of file tm_dslash_dagger_core.h.

#define A_re   G4.z

Definition at line 105 of file tm_dslash_dagger_core.h.

#define g00_im   G0.y

Definition at line 87 of file tm_dslash_dagger_core.h.

#define g00_re   G0.x

Definition at line 86 of file tm_dslash_dagger_core.h.

#define g01_im   G0.w

Definition at line 89 of file tm_dslash_dagger_core.h.

#define g01_re   G0.z

Definition at line 88 of file tm_dslash_dagger_core.h.

#define g02_im   G1.y

Definition at line 91 of file tm_dslash_dagger_core.h.

#define g02_re   G1.x

Definition at line 90 of file tm_dslash_dagger_core.h.

#define g10_im   G1.w

Definition at line 93 of file tm_dslash_dagger_core.h.

#define g10_re   G1.z

Definition at line 92 of file tm_dslash_dagger_core.h.

#define g11_im   G2.y

Definition at line 95 of file tm_dslash_dagger_core.h.

#define g11_re   G2.x

Definition at line 94 of file tm_dslash_dagger_core.h.

#define g12_im   G2.w

Definition at line 97 of file tm_dslash_dagger_core.h.

#define g12_re   G2.z

Definition at line 96 of file tm_dslash_dagger_core.h.

#define g20_im   G3.y

Definition at line 99 of file tm_dslash_dagger_core.h.

#define g20_re   G3.x

Definition at line 98 of file tm_dslash_dagger_core.h.

#define g21_im   G3.w

Definition at line 101 of file tm_dslash_dagger_core.h.

#define g21_re   G3.z

Definition at line 100 of file tm_dslash_dagger_core.h.

#define g22_im   G4.y

Definition at line 103 of file tm_dslash_dagger_core.h.

#define g22_re   G4.x

Definition at line 102 of file tm_dslash_dagger_core.h.

#define gT00_im   (-g00_im)

Definition at line 112 of file tm_dslash_dagger_core.h.

#define gT00_re   (+g00_re)

Definition at line 111 of file tm_dslash_dagger_core.h.

#define gT01_im   (-g10_im)

Definition at line 114 of file tm_dslash_dagger_core.h.

#define gT01_re   (+g10_re)

Definition at line 113 of file tm_dslash_dagger_core.h.

#define gT02_im   (-g20_im)

Definition at line 116 of file tm_dslash_dagger_core.h.

#define gT02_re   (+g20_re)

Definition at line 115 of file tm_dslash_dagger_core.h.

#define gT10_im   (-g01_im)

Definition at line 118 of file tm_dslash_dagger_core.h.

#define gT10_re   (+g01_re)

Definition at line 117 of file tm_dslash_dagger_core.h.

#define gT11_im   (-g11_im)

Definition at line 120 of file tm_dslash_dagger_core.h.

#define gT11_re   (+g11_re)

Definition at line 119 of file tm_dslash_dagger_core.h.

#define gT12_im   (-g21_im)

Definition at line 122 of file tm_dslash_dagger_core.h.

#define gT12_re   (+g21_re)

Definition at line 121 of file tm_dslash_dagger_core.h.

#define gT20_im   (-g02_im)

Definition at line 124 of file tm_dslash_dagger_core.h.

#define gT20_re   (+g02_re)

Definition at line 123 of file tm_dslash_dagger_core.h.

#define gT21_im   (-g12_im)

Definition at line 126 of file tm_dslash_dagger_core.h.

#define gT21_re   (+g12_re)

Definition at line 125 of file tm_dslash_dagger_core.h.

#define gT22_im   (-g22_im)

Definition at line 128 of file tm_dslash_dagger_core.h.

#define gT22_re   (+g22_re)

Definition at line 127 of file tm_dslash_dagger_core.h.

#define i00_im   I0.y

Definition at line 36 of file tm_dslash_dagger_core.h.

#define i00_re   I0.x

Definition at line 35 of file tm_dslash_dagger_core.h.

#define i01_im   I0.w

Definition at line 38 of file tm_dslash_dagger_core.h.

#define i01_re   I0.z

Definition at line 37 of file tm_dslash_dagger_core.h.

#define i02_im   I1.y

Definition at line 40 of file tm_dslash_dagger_core.h.

#define i02_re   I1.x

Definition at line 39 of file tm_dslash_dagger_core.h.

#define i10_im   I1.w

Definition at line 42 of file tm_dslash_dagger_core.h.

#define i10_re   I1.z

Definition at line 41 of file tm_dslash_dagger_core.h.

#define i11_im   I2.y

Definition at line 44 of file tm_dslash_dagger_core.h.

#define i11_re   I2.x

Definition at line 43 of file tm_dslash_dagger_core.h.

#define i12_im   I2.w

Definition at line 46 of file tm_dslash_dagger_core.h.

#define i12_re   I2.z

Definition at line 45 of file tm_dslash_dagger_core.h.

#define i20_im   I3.y

Definition at line 48 of file tm_dslash_dagger_core.h.

#define i20_re   I3.x

Definition at line 47 of file tm_dslash_dagger_core.h.

#define i21_im   I3.w

Definition at line 50 of file tm_dslash_dagger_core.h.

#define i21_re   I3.z

Definition at line 49 of file tm_dslash_dagger_core.h.

#define i22_im   I4.y

Definition at line 52 of file tm_dslash_dagger_core.h.

#define i22_re   I4.x

Definition at line 51 of file tm_dslash_dagger_core.h.

#define i30_im   I4.w

Definition at line 54 of file tm_dslash_dagger_core.h.

#define i30_re   I4.z

Definition at line 53 of file tm_dslash_dagger_core.h.

#define i31_im   I5.y

Definition at line 56 of file tm_dslash_dagger_core.h.

#define i31_re   I5.x

Definition at line 55 of file tm_dslash_dagger_core.h.

#define i32_im   I5.w

Definition at line 58 of file tm_dslash_dagger_core.h.

#define i32_re   I5.z

Definition at line 57 of file tm_dslash_dagger_core.h.

#define o00_im   s[1*SHARED_STRIDE]

Definition at line 132 of file tm_dslash_dagger_core.h.

#define o00_re   s[0*SHARED_STRIDE]

Definition at line 131 of file tm_dslash_dagger_core.h.

#define o01_im   s[3*SHARED_STRIDE]

Definition at line 134 of file tm_dslash_dagger_core.h.

#define o01_re   s[2*SHARED_STRIDE]

Definition at line 133 of file tm_dslash_dagger_core.h.

#define o02_im   s[5*SHARED_STRIDE]

Definition at line 136 of file tm_dslash_dagger_core.h.

#define o02_re   s[4*SHARED_STRIDE]

Definition at line 135 of file tm_dslash_dagger_core.h.

#define o10_im   s[7*SHARED_STRIDE]

Definition at line 138 of file tm_dslash_dagger_core.h.

#define o10_re   s[6*SHARED_STRIDE]

Definition at line 137 of file tm_dslash_dagger_core.h.

#define SHARED_FLOATS_PER_THREAD   8

Definition at line 3 of file tm_dslash_dagger_core.h.

#define SHARED_STRIDE   16

Definition at line 186 of file tm_dslash_dagger_core.h.

#define spinorFloat   float

Definition at line 34 of file tm_dslash_dagger_core.h.


Variable Documentation

o00_re = o00_im = 0

Definition at line 193 of file tm_dslash_dagger_core.h.

o01_re = o01_im = 0

Definition at line 194 of file tm_dslash_dagger_core.h.

o02_re = o02_im = 0

Definition at line 195 of file tm_dslash_dagger_core.h.

o10_re = o10_im = 0

Definition at line 196 of file tm_dslash_dagger_core.h.

volatile spinorFloat o11_im

Definition at line 140 of file tm_dslash_dagger_core.h.

o11_re = o11_im = 0

Definition at line 139 of file tm_dslash_dagger_core.h.

volatile spinorFloat o12_im

Definition at line 142 of file tm_dslash_dagger_core.h.

o12_re = o12_im = 0

Definition at line 141 of file tm_dslash_dagger_core.h.

volatile spinorFloat o20_im

Definition at line 144 of file tm_dslash_dagger_core.h.

o20_re = o20_im = 0

Definition at line 143 of file tm_dslash_dagger_core.h.

volatile spinorFloat o21_im

Definition at line 146 of file tm_dslash_dagger_core.h.

o21_re = o21_im = 0

Definition at line 145 of file tm_dslash_dagger_core.h.

volatile spinorFloat o22_im

Definition at line 148 of file tm_dslash_dagger_core.h.

o22_re = o22_im = 0

Definition at line 147 of file tm_dslash_dagger_core.h.

volatile spinorFloat o30_im

Definition at line 150 of file tm_dslash_dagger_core.h.

o30_re = o30_im = 0

Definition at line 149 of file tm_dslash_dagger_core.h.

volatile spinorFloat o31_im

Definition at line 152 of file tm_dslash_dagger_core.h.

o31_re = o31_im = 0

Definition at line 151 of file tm_dslash_dagger_core.h.

volatile spinorFloat o32_im

Definition at line 154 of file tm_dslash_dagger_core.h.

o32_re = o32_im = 0

Definition at line 153 of file tm_dslash_dagger_core.h.

volatile spinorFloat* s
Initial value:

Definition at line 189 of file tm_dslash_dagger_core.h.

Definition at line 162 of file tm_dslash_dagger_core.h.

__shared__ spinorFloat ss_data[]
int X = 2*sid + x1odd

Definition at line 171 of file tm_dslash_dagger_core.h.

int x1 = 2*x1h + x1odd

Definition at line 170 of file tm_dslash_dagger_core.h.

int x1h = sid - z1*X1h

Definition at line 164 of file tm_dslash_dagger_core.h.

int x1odd = (x2 + x3 + x4 + oddBit) & 1

Definition at line 169 of file tm_dslash_dagger_core.h.

int x2 = z1 - z2*X2

Definition at line 166 of file tm_dslash_dagger_core.h.

int x3 = z2 - x4*X3

Definition at line 168 of file tm_dslash_dagger_core.h.

int x4 = FAST_INT_DIVIDE(z2, X3)

Definition at line 167 of file tm_dslash_dagger_core.h.

int z1 = FAST_INT_DIVIDE(sid, X1h)

Definition at line 163 of file tm_dslash_dagger_core.h.

int z2 = FAST_INT_DIVIDE(z1, X2)

Definition at line 165 of file tm_dslash_dagger_core.h.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines