QUDA  v0.7.0
A library for QCD on GPUs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Functions | Variables
llfat_core.h File Reference

Go to the source code of this file.

Macros

#define Vsh_x   ghostFace[0]
 
#define Vsh_y   ghostFace[1]
 
#define Vsh_z   ghostFace[2]
 
#define Vsh_t   ghostFace[3]
 
#define xcomm   kparam.ghostDim[0]
 
#define ycomm   kparam.ghostDim[1]
 
#define zcomm   kparam.ghostDim[2]
 
#define tcomm   kparam.ghostDim[3]
 
#define dimcomm   kparam.ghostDim
 
#define D1   kparam.D1
 
#define D2   kparam.D2
 
#define D3   kparam.D3
 
#define D4   kparam.D4
 
#define D1h   kparam.D1h
 
#define DECLARE_VAR_SIGN   short sign=1
 
#define DECLARE_NEW_X
 
#define DECLARE_X_ARRAY   int x[4] = {x1,x2,x3, x4};
 
#define a00_re   A0.x
 
#define a00_im   A0.y
 
#define a01_re   A1.x
 
#define a01_im   A1.y
 
#define a02_re   A2.x
 
#define a02_im   A2.y
 
#define a10_re   A3.x
 
#define a10_im   A3.y
 
#define a11_re   A4.x
 
#define a11_im   A4.y
 
#define a12_re   A5.x
 
#define a12_im   A5.y
 
#define a20_re   A6.x
 
#define a20_im   A6.y
 
#define a21_re   A7.x
 
#define a21_im   A7.y
 
#define a22_re   A8.x
 
#define a22_im   A8.y
 
#define b00_re   B0.x
 
#define b00_im   B0.y
 
#define b01_re   B1.x
 
#define b01_im   B1.y
 
#define b02_re   B2.x
 
#define b02_im   B2.y
 
#define b10_re   B3.x
 
#define b10_im   B3.y
 
#define b11_re   B4.x
 
#define b11_im   B4.y
 
#define b12_re   B5.x
 
#define b12_im   B5.y
 
#define b20_re   B6.x
 
#define b20_im   B6.y
 
#define b21_re   B7.x
 
#define b21_im   B7.y
 
#define b22_re   B8.x
 
#define b22_im   B8.y
 
#define c00_re   C0.x
 
#define c00_im   C0.y
 
#define c01_re   C1.x
 
#define c01_im   C1.y
 
#define c02_re   C2.x
 
#define c02_im   C2.y
 
#define c10_re   C3.x
 
#define c10_im   C3.y
 
#define c11_re   C4.x
 
#define c11_im   C4.y
 
#define c12_re   C5.x
 
#define c12_im   C5.y
 
#define c20_re   C6.x
 
#define c20_im   C6.y
 
#define c21_re   C7.x
 
#define c21_im   C7.y
 
#define c22_re   C8.x
 
#define c22_im   C8.y
 
#define f00_re   F0.x
 
#define f00_im   F0.y
 
#define f01_re   F1.x
 
#define f01_im   F1.y
 
#define f02_re   F2.x
 
#define f02_im   F2.y
 
#define f10_re   F3.x
 
#define f10_im   F3.y
 
#define f11_re   F4.x
 
#define f11_im   F4.y
 
#define f12_re   F5.x
 
#define f12_im   F5.y
 
#define f20_re   F6.x
 
#define f20_im   F6.y
 
#define f21_re   F7.x
 
#define f21_im   F7.y
 
#define f22_re   F8.x
 
#define f22_im   F8.y
 
#define WRITE_LONG_MATRIX   WRITE_GAUGE_MATRIX_FLOAT2
 
#define bb00_re   BB0.x
 
#define bb00_im   BB0.y
 
#define bb01_re   BB1.x
 
#define bb01_im   BB1.y
 
#define bb02_re   BB2.x
 
#define bb02_im   BB2.y
 
#define bb10_re   BB3.x
 
#define bb10_im   BB3.y
 
#define bb11_re   BB4.x
 
#define bb11_im   BB4.y
 
#define bb12_re   BB5.x
 
#define bb12_im   BB5.y
 
#define bb20_re   BB6.x
 
#define bb20_im   BB6.y
 
#define bb21_re   BB7.x
 
#define bb21_im   BB7.y
 
#define bb22_re   BB8.x
 
#define bb22_im   BB8.y
 
#define aT00_re   (+a00_re)
 
#define aT00_im   (-a00_im)
 
#define aT01_re   (+a10_re)
 
#define aT01_im   (-a10_im)
 
#define aT02_re   (+a20_re)
 
#define aT02_im   (-a20_im)
 
#define aT10_re   (+a01_re)
 
#define aT10_im   (-a01_im)
 
#define aT11_re   (+a11_re)
 
#define aT11_im   (-a11_im)
 
#define aT12_re   (+a21_re)
 
#define aT12_im   (-a21_im)
 
#define aT20_re   (+a02_re)
 
#define aT20_im   (-a02_im)
 
#define aT21_re   (+a12_re)
 
#define aT21_im   (-a12_im)
 
#define aT22_re   (+a22_re)
 
#define aT22_im   (-a22_im)
 
#define bT00_re   (+b00_re)
 
#define bT00_im   (-b00_im)
 
#define bT01_re   (+b10_re)
 
#define bT01_im   (-b10_im)
 
#define bT02_re   (+b20_re)
 
#define bT02_im   (-b20_im)
 
#define bT10_re   (+b01_re)
 
#define bT10_im   (-b01_im)
 
#define bT11_re   (+b11_re)
 
#define bT11_im   (-b11_im)
 
#define bT12_re   (+b21_re)
 
#define bT12_im   (-b21_im)
 
#define bT20_re   (+b02_re)
 
#define bT20_im   (-b02_im)
 
#define bT21_re   (+b12_re)
 
#define bT21_im   (-b12_im)
 
#define bT22_re   (+b22_re)
 
#define bT22_im   (-b22_im)
 
#define cT00_re   (+c00_re)
 
#define cT00_im   (-c00_im)
 
#define cT01_re   (+c10_re)
 
#define cT01_im   (-c10_im)
 
#define cT02_re   (+c20_re)
 
#define cT02_im   (-c20_im)
 
#define cT10_re   (+c01_re)
 
#define cT10_im   (-c01_im)
 
#define cT11_re   (+c11_re)
 
#define cT11_im   (-c11_im)
 
#define cT12_re   (+c21_re)
 
#define cT12_im   (-c21_im)
 
#define cT20_re   (+c02_re)
 
#define cT20_im   (-c02_im)
 
#define cT21_re   (+c12_re)
 
#define cT21_im   (-c12_im)
 
#define cT22_re   (+c22_re)
 
#define cT22_im   (-c22_im)
 
#define tempa00_re   TEMPA0.x
 
#define tempa00_im   TEMPA0.y
 
#define tempa01_re   TEMPA1.x
 
#define tempa01_im   TEMPA1.y
 
#define tempa02_re   TEMPA2.x
 
#define tempa02_im   TEMPA2.y
 
#define tempa10_re   TEMPA3.x
 
#define tempa10_im   TEMPA3.y
 
#define tempa11_re   TEMPA4.x
 
#define tempa11_im   TEMPA4.y
 
#define tempa12_re   TEMPA5.x
 
#define tempa12_im   TEMPA5.y
 
#define tempa20_re   TEMPA6.x
 
#define tempa20_im   TEMPA6.y
 
#define tempa21_re   TEMPA7.x
 
#define tempa21_im   TEMPA7.y
 
#define tempa22_re   TEMPA8.x
 
#define tempa22_im   TEMPA8.y
 
#define tempb00_re   TEMPB0.x
 
#define tempb00_im   TEMPB0.y
 
#define tempb01_re   TEMPB1.x
 
#define tempb01_im   TEMPB1.y
 
#define tempb02_re   TEMPB2.x
 
#define tempb02_im   TEMPB2.y
 
#define tempb10_re   TEMPB3.x
 
#define tempb10_im   TEMPB3.y
 
#define tempb11_re   TEMPB4.x
 
#define tempb11_im   TEMPB4.y
 
#define tempb12_re   TEMPB5.x
 
#define tempb12_im   TEMPB5.y
 
#define tempb20_re   TEMPB6.x
 
#define tempb20_im   TEMPB6.y
 
#define tempb21_re   TEMPB7.x
 
#define tempb21_im   TEMPB7.y
 
#define tempb22_re   TEMPB8.x
 
#define tempb22_im   TEMPB8.y
 
#define fat00_re   FAT0.x
 
#define fat00_im   FAT0.y
 
#define fat01_re   FAT1.x
 
#define fat01_im   FAT1.y
 
#define fat02_re   FAT2.x
 
#define fat02_im   FAT2.y
 
#define fat10_re   FAT3.x
 
#define fat10_im   FAT3.y
 
#define fat11_re   FAT4.x
 
#define fat11_im   FAT4.y
 
#define fat12_re   FAT5.x
 
#define fat12_im   FAT5.y
 
#define fat20_re   FAT6.x
 
#define fat20_im   FAT6.y
 
#define fat21_re   FAT7.x
 
#define fat21_im   FAT7.y
 
#define fat22_re   FAT8.x
 
#define fat22_im   FAT8.y
 
#define NUM_FLOATS   5
 
#define TEMPA0   sd_data[threadIdx.x + 0*blockDim.x]
 
#define TEMPA1   sd_data[threadIdx.x + 1*blockDim.x ]
 
#define TEMPA2   sd_data[threadIdx.x + 2*blockDim.x ]
 
#define TEMPA3   sd_data[threadIdx.x + 3*blockDim.x ]
 
#define TEMPA4   sd_data[threadIdx.x + 4*blockDim.x ]
 
#define UPDATE_COOR_PLUS(mydir, n, idx)
 
#define UPDATE_COOR_MINUS(mydir, idx)
 
#define UPDATE_COOR_LOWER_STAPLE(mydir1, mydir2)
 
#define UPDATE_COOR_LOWER_STAPLE_DIAG(nu, mu, dir1, dir2)
 
#define UPDATE_COOR_LOWER_STAPLE_EX(mydir1, mydir2)
 
#define COMPUTE_RECONSTRUCT_SIGN(sign, dir, i1, i2, i3, i4)
 
#define LLFAT_COMPUTE_NEW_IDX_PLUS(mydir, n, idx)
 
#define LLFAT_COMPUTE_NEW_IDX_MINUS(mydir, idx)
 
#define LLFAT_COMPUTE_NEW_IDX_LOWER_STAPLE(mydir1, mydir2)
 
#define LLFAT_COMPUTE_NEW_IDX_PLUS_EX(mydir, n, idx)
 
#define LLFAT_COMPUTE_NEW_IDX_MINUS_EX(mydir, idx)
 
#define LLFAT_COMPUTE_NEW_IDX_LOWER_STAPLE_EX(mydir1, mydir2)
 

Functions

template<int mu, int nu, int odd_bit>
__global__ void LLFAT_KERNEL (do_siteComputeGenStapleParity, RECONSTRUCT)(FloatM *staple_even
 
 if (kparam.kernel_type==LLFAT_EXTERIOR_KERNEL_FWD_X &&x1!=X1m1) return
 
 COMPUTE_RECONSTRUCT_SIGN (sign, nu, x1, x2, x3, x4)
 
 RECONSTRUCT_SITE_LINK (sign, a)
 
 LLFAT_COMPUTE_NEW_IDX_PLUS (nu, 1, X)
 
 LOAD_ODD_SITE_MATRIX (mu, new_mem_idx, B)
 
 COMPUTE_RECONSTRUCT_SIGN (sign, mu, new_x1, new_x2, new_x3, new_x4)
 
 RECONSTRUCT_SITE_LINK (sign, b)
 
 MULT_SU3_NN (a, b, tempa)
 
 LLFAT_COMPUTE_NEW_IDX_PLUS (mu, 1, X)
 
 LOAD_ODD_SITE_MATRIX (nu, new_mem_idx, C)
 
 COMPUTE_RECONSTRUCT_SIGN (sign, nu, new_x1, new_x2, new_x3, new_x4)
 
 RECONSTRUCT_SITE_LINK (sign, c)
 
 MULT_SU3_NA (tempa, c, staple)
 
 LOAD_ODD_SITE_MATRIX (nu,(new_mem_idx), A)
 
 LOAD_ODD_SITE_MATRIX (mu,(new_mem_idx), B)
 
 MULT_SU3_AN (a, b, tempa)
 
 LLFAT_COMPUTE_NEW_IDX_LOWER_STAPLE (nu, mu)
 
 LOAD_EVEN_SITE_MATRIX (nu, new_mem_idx, C)
 
 MULT_SU3_NN (tempa, c, b)
 
 LLFAT_ADD_SU3_MATRIX (b, staple, staple)
 
 WRITE_STAPLE_MATRIX (staple_even, mem_idx)
 
template<int mu, int nu, int odd_bit, int save_staple>
__global__ void LLFAT_KERNEL (do_computeGenStapleFieldParity, RECONSTRUCT)(FloatM *staple_even
 
 LOAD_ODD_MULINK_MATRIX (0, new_mem_idx, BB)
 
 MULT_SU3_NN (a, bb, tempa)
 
 if (save_staple)
 
 LOAD_ODD_SITE_MATRIX (nu, new_mem_idx, A)
 
 LLFAT_COMPUTE_NEW_IDX_MINUS (nu, X)
 
 MULT_SU3_AN (a, bb, tempa)
 
 MULT_SU3_NN (tempa, c, a)
 
 LOAD_EVEN_FAT_MATRIX (mu, mem_idx)
 
__global__ void LLFAT_KERNEL (llfatOneLink, RECONSTRUCT)(const FloatN *sitelink_even
 
 if (sid >=threads) return
 
 if (mem_idx >=Vh)
 
 for (int dir=0;dir< 4;dir++)
 
template<int mu, int nu, int odd_bit>
__global__ void LLFAT_KERNEL_EX (do_siteComputeGenStapleParity, RECONSTRUCT)(FloatM *staple_even
 
 if (mem_idx >=kparam.threads) return
 
 COMPUTE_RECONSTRUCT_SIGN (sign, nu,(x1-2),(x2-2),(x3-2),(x4-2))
 
 LLFAT_COMPUTE_NEW_IDX_PLUS_EX (nu, 1, X)
 
 COMPUTE_RECONSTRUCT_SIGN (sign, mu,(new_x1-2),(new_x2-2),(new_x3-2),(new_x4-2))
 
 LLFAT_COMPUTE_NEW_IDX_PLUS_EX (mu, 1, X)
 
 COMPUTE_RECONSTRUCT_SIGN (sign, nu,(new_x1-2),(new_x2-2),(new_x3-2),(new_x4-2))
 
 LLFAT_COMPUTE_NEW_IDX_LOWER_STAPLE_EX (nu, mu)
 
 if (!(x1==1||x1==X1+2||x2==1||x2==X2+2||x3==1||x3==X3+2||x4==1||x4==X4+2))
 
template<int mu, int nu, int odd_bit, int save_staple>
__global__ void LLFAT_KERNEL_EX (do_computeGenStapleFieldParity, RECONSTRUCT)(FloatM *staple_even
 
 LLFAT_COMPUTE_NEW_IDX_MINUS_EX (nu, X)
 
 LLFAT_ADD_SU3_MATRIX (a, staple, staple)
 
__global__ void LLFAT_KERNEL_EX (llfatOneLink, RECONSTRUCT)(const FloatN *sitelink_even
 
 if (sid >=2 *kparam.threads) return
 
 if (idx >=kparam.threads)
 
template<int odd_bit>
__global__ void LLFAT_KERNEL (computeLongLinkParity, RECONSTRUCT)(FloatN *const outField
 

Variables

__global__ void FloatM * staple_odd
 
__global__ void FloatM const
FloatN * 
sitelink_even
 
__global__ void FloatM const
FloatN const FloatN * 
sitelink_odd
 
__global__ void FloatM const
FloatN const FloatN FloatM * 
fatlink_even
 
__global__ void FloatM const
FloatN const FloatN FloatM
FloatM * 
fatlink_odd
 
__global__ void FloatM const
FloatN const FloatN FloatM
FloatM Float 
mycoeff
 
__global__ void FloatM const
FloatN const FloatN FloatM
FloatM Float
llfat_kernel_param_t 
kparam
 
FloatM TEMPA5
 
FloatM TEMPA6
 
FloatM TEMPA7
 
FloatM TEMPA8
 
FloatM STAPLE0
 
FloatM STAPLE1
 
FloatM STAPLE2
 
FloatM STAPLE3
 
FloatM STAPLE4
 
FloatM STAPLE5
 
FloatM STAPLE6
 
FloatM STAPLE7
 
FloatM STAPLE8
 
int mem_idx = blockIdx.x*blockDim.x + threadIdx.x
 
int z1 = mem_idx / X1h
 
short x1h = mem_idx - z1*X1h
 
int z2 = z1 / X2
 
short x2 = z1 - z2*X2
 
short x4 = z2 / X3
 
short x3 = z2 - x4*X3
 
short x1odd = (x2 + x3 + x4 + odd_bit) & 1
 
short x1 = 2*x1h + x1odd
 
int X = 2*mem_idx + x1odd
 
int new_mem_idx
 
 DECLARE_VAR_SIGN
 
 DECLARE_NEW_X
 
 DECLARE_X_ARRAY
 
 return
 
__global__ void FloatM const
FloatN const FloatN FloatM
FloatM const FloatM * 
mulink_even
 
__global__ void FloatM const
FloatN const FloatN FloatM
FloatM const FloatM const
FloatM * 
mulink_odd
 
FloatM TEMPB0
 
FloatM TEMPB1
 
FloatM TEMPB2
 
FloatM TEMPB3
 
FloatM TEMPB4
 
FloatM TEMPB5
 
FloatM TEMPB6
 
FloatM TEMPB7
 
FloatM TEMPB8
 
 else
 
__global__ void const FloatN
FloatM FloatM Float 
coeff0
 
__global__ void const FloatN
FloatM FloatM Float Float 
coeff5
 
__global__ void const FloatN
FloatM FloatM Float Float int 
threads
 
FloatM * my_fatlink = fatlink_even
 
int sid = blockIdx.x*blockDim.x + threadIdx.x
 
int odd_bit = 0
 
 my_sitelink = sitelink_even
 
int idx = sid
 
__global__ void const FloatN
*const const FloatN *const
Float 
coeff
 
FloatN F0
 
FloatN F1
 
FloatN F2
 
FloatN F3
 
FloatN F4
 
FloatN F5
 
FloatN F6
 
FloatN F7
 
FloatN F8
 

Macro Definition Documentation

#define a00_im   A0.y

Definition at line 116 of file llfat_core.h.

#define a00_re   A0.x

Definition at line 115 of file llfat_core.h.

#define a01_im   A1.y

Definition at line 118 of file llfat_core.h.

#define a01_re   A1.x

Definition at line 117 of file llfat_core.h.

#define a02_im   A2.y

Definition at line 120 of file llfat_core.h.

#define a02_re   A2.x

Definition at line 119 of file llfat_core.h.

#define a10_im   A3.y

Definition at line 122 of file llfat_core.h.

#define a10_re   A3.x

Definition at line 121 of file llfat_core.h.

#define a11_im   A4.y

Definition at line 124 of file llfat_core.h.

#define a11_re   A4.x

Definition at line 123 of file llfat_core.h.

#define a12_im   A5.y

Definition at line 126 of file llfat_core.h.

#define a12_re   A5.x

Definition at line 125 of file llfat_core.h.

#define a20_im   A6.y

Definition at line 128 of file llfat_core.h.

#define a20_re   A6.x

Definition at line 127 of file llfat_core.h.

#define a21_im   A7.y

Definition at line 130 of file llfat_core.h.

#define a21_re   A7.x

Definition at line 129 of file llfat_core.h.

#define a22_im   A8.y

Definition at line 132 of file llfat_core.h.

#define a22_re   A8.x

Definition at line 131 of file llfat_core.h.

#define aT00_im   (-a00_im)

Definition at line 218 of file llfat_core.h.

#define aT00_re   (+a00_re)

Definition at line 217 of file llfat_core.h.

#define aT01_im   (-a10_im)

Definition at line 220 of file llfat_core.h.

#define aT01_re   (+a10_re)

Definition at line 219 of file llfat_core.h.

#define aT02_im   (-a20_im)

Definition at line 222 of file llfat_core.h.

#define aT02_re   (+a20_re)

Definition at line 221 of file llfat_core.h.

#define aT10_im   (-a01_im)

Definition at line 224 of file llfat_core.h.

#define aT10_re   (+a01_re)

Definition at line 223 of file llfat_core.h.

#define aT11_im   (-a11_im)

Definition at line 226 of file llfat_core.h.

#define aT11_re   (+a11_re)

Definition at line 225 of file llfat_core.h.

#define aT12_im   (-a21_im)

Definition at line 228 of file llfat_core.h.

#define aT12_re   (+a21_re)

Definition at line 227 of file llfat_core.h.

#define aT20_im   (-a02_im)

Definition at line 230 of file llfat_core.h.

#define aT20_re   (+a02_re)

Definition at line 229 of file llfat_core.h.

#define aT21_im   (-a12_im)

Definition at line 232 of file llfat_core.h.

#define aT21_re   (+a12_re)

Definition at line 231 of file llfat_core.h.

#define aT22_im   (-a22_im)

Definition at line 234 of file llfat_core.h.

#define aT22_re   (+a22_re)

Definition at line 233 of file llfat_core.h.

#define b00_im   B0.y

Definition at line 135 of file llfat_core.h.

#define b00_re   B0.x

Definition at line 134 of file llfat_core.h.

#define b01_im   B1.y

Definition at line 137 of file llfat_core.h.

#define b01_re   B1.x

Definition at line 136 of file llfat_core.h.

#define b02_im   B2.y

Definition at line 139 of file llfat_core.h.

#define b02_re   B2.x

Definition at line 138 of file llfat_core.h.

#define b10_im   B3.y

Definition at line 141 of file llfat_core.h.

#define b10_re   B3.x

Definition at line 140 of file llfat_core.h.

#define b11_im   B4.y

Definition at line 143 of file llfat_core.h.

#define b11_re   B4.x

Definition at line 142 of file llfat_core.h.

#define b12_im   B5.y

Definition at line 145 of file llfat_core.h.

#define b12_re   B5.x

Definition at line 144 of file llfat_core.h.

#define b20_im   B6.y

Definition at line 147 of file llfat_core.h.

#define b20_re   B6.x

Definition at line 146 of file llfat_core.h.

#define b21_im   B7.y

Definition at line 149 of file llfat_core.h.

#define b21_re   B7.x

Definition at line 148 of file llfat_core.h.

#define b22_im   B8.y

Definition at line 151 of file llfat_core.h.

#define b22_re   B8.x

Definition at line 150 of file llfat_core.h.

#define bb00_im   BB0.y

Definition at line 197 of file llfat_core.h.

#define bb00_re   BB0.x

Definition at line 196 of file llfat_core.h.

#define bb01_im   BB1.y

Definition at line 199 of file llfat_core.h.

#define bb01_re   BB1.x

Definition at line 198 of file llfat_core.h.

#define bb02_im   BB2.y

Definition at line 201 of file llfat_core.h.

#define bb02_re   BB2.x

Definition at line 200 of file llfat_core.h.

#define bb10_im   BB3.y

Definition at line 203 of file llfat_core.h.

#define bb10_re   BB3.x

Definition at line 202 of file llfat_core.h.

#define bb11_im   BB4.y

Definition at line 205 of file llfat_core.h.

#define bb11_re   BB4.x

Definition at line 204 of file llfat_core.h.

#define bb12_im   BB5.y

Definition at line 207 of file llfat_core.h.

#define bb12_re   BB5.x

Definition at line 206 of file llfat_core.h.

#define bb20_im   BB6.y

Definition at line 209 of file llfat_core.h.

#define bb20_re   BB6.x

Definition at line 208 of file llfat_core.h.

#define bb21_im   BB7.y

Definition at line 211 of file llfat_core.h.

#define bb21_re   BB7.x

Definition at line 210 of file llfat_core.h.

#define bb22_im   BB8.y

Definition at line 213 of file llfat_core.h.

#define bb22_re   BB8.x

Definition at line 212 of file llfat_core.h.

#define bT00_im   (-b00_im)

Definition at line 237 of file llfat_core.h.

#define bT00_re   (+b00_re)

Definition at line 236 of file llfat_core.h.

#define bT01_im   (-b10_im)

Definition at line 239 of file llfat_core.h.

#define bT01_re   (+b10_re)

Definition at line 238 of file llfat_core.h.

#define bT02_im   (-b20_im)

Definition at line 241 of file llfat_core.h.

#define bT02_re   (+b20_re)

Definition at line 240 of file llfat_core.h.

#define bT10_im   (-b01_im)

Definition at line 243 of file llfat_core.h.

#define bT10_re   (+b01_re)

Definition at line 242 of file llfat_core.h.

#define bT11_im   (-b11_im)

Definition at line 245 of file llfat_core.h.

#define bT11_re   (+b11_re)

Definition at line 244 of file llfat_core.h.

#define bT12_im   (-b21_im)

Definition at line 247 of file llfat_core.h.

#define bT12_re   (+b21_re)

Definition at line 246 of file llfat_core.h.

#define bT20_im   (-b02_im)

Definition at line 249 of file llfat_core.h.

#define bT20_re   (+b02_re)

Definition at line 248 of file llfat_core.h.

#define bT21_im   (-b12_im)

Definition at line 251 of file llfat_core.h.

#define bT21_re   (+b12_re)

Definition at line 250 of file llfat_core.h.

#define bT22_im   (-b22_im)

Definition at line 253 of file llfat_core.h.

#define bT22_re   (+b22_re)

Definition at line 252 of file llfat_core.h.

#define c00_im   C0.y

Definition at line 154 of file llfat_core.h.

#define c00_re   C0.x

Definition at line 153 of file llfat_core.h.

#define c01_im   C1.y

Definition at line 156 of file llfat_core.h.

#define c01_re   C1.x

Definition at line 155 of file llfat_core.h.

#define c02_im   C2.y

Definition at line 158 of file llfat_core.h.

#define c02_re   C2.x

Definition at line 157 of file llfat_core.h.

#define c10_im   C3.y

Definition at line 160 of file llfat_core.h.

#define c10_re   C3.x

Definition at line 159 of file llfat_core.h.

#define c11_im   C4.y

Definition at line 162 of file llfat_core.h.

#define c11_re   C4.x

Definition at line 161 of file llfat_core.h.

#define c12_im   C5.y

Definition at line 164 of file llfat_core.h.

#define c12_re   C5.x

Definition at line 163 of file llfat_core.h.

#define c20_im   C6.y

Definition at line 166 of file llfat_core.h.

#define c20_re   C6.x

Definition at line 165 of file llfat_core.h.

#define c21_im   C7.y

Definition at line 168 of file llfat_core.h.

#define c21_re   C7.x

Definition at line 167 of file llfat_core.h.

#define c22_im   C8.y

Definition at line 170 of file llfat_core.h.

#define c22_re   C8.x

Definition at line 169 of file llfat_core.h.

#define COMPUTE_RECONSTRUCT_SIGN (   sign,
  dir,
  i1,
  i2,
  i3,
  i4 
)
Value:
do { \
sign =1; \
switch(dir){ \
case XUP: \
if ( (i4 & 1) != 0){ \
sign = -1; \
} \
break; \
case YUP: \
if ( ((i4+i1) & 1) != 0){ \
sign = -1; \
} \
break; \
case ZUP: \
if ( ((i4+i1+i2) & 1) != 0){ \
sign = -1; \
} \
break; \
case TUP: \
if (i4 == X4m1 && PtNm1){ \
sign = -1; \
}else if(i4 == -1 && Pt0){ \
sign = -1; \
} \
break; \
} \
}while (0)
__constant__ bool Pt0
__constant__ bool PtNm1
if(kparam.kernel_type==LLFAT_EXTERIOR_KERNEL_FWD_X &&x1!=X1m1) return
Definition: llfat_core.h:931
__constant__ int X4m1

Definition at line 484 of file llfat_core.h.

#define cT00_im   (-c00_im)

Definition at line 256 of file llfat_core.h.

#define cT00_re   (+c00_re)

Definition at line 255 of file llfat_core.h.

#define cT01_im   (-c10_im)

Definition at line 258 of file llfat_core.h.

#define cT01_re   (+c10_re)

Definition at line 257 of file llfat_core.h.

#define cT02_im   (-c20_im)

Definition at line 260 of file llfat_core.h.

#define cT02_re   (+c20_re)

Definition at line 259 of file llfat_core.h.

#define cT10_im   (-c01_im)

Definition at line 262 of file llfat_core.h.

#define cT10_re   (+c01_re)

Definition at line 261 of file llfat_core.h.

#define cT11_im   (-c11_im)

Definition at line 264 of file llfat_core.h.

#define cT11_re   (+c11_re)

Definition at line 263 of file llfat_core.h.

#define cT12_im   (-c21_im)

Definition at line 266 of file llfat_core.h.

#define cT12_re   (+c21_re)

Definition at line 265 of file llfat_core.h.

#define cT20_im   (-c02_im)

Definition at line 268 of file llfat_core.h.

#define cT20_re   (+c02_re)

Definition at line 267 of file llfat_core.h.

#define cT21_im   (-c12_im)

Definition at line 270 of file llfat_core.h.

#define cT21_re   (+c12_re)

Definition at line 269 of file llfat_core.h.

#define cT22_im   (-c22_im)

Definition at line 272 of file llfat_core.h.

#define cT22_re   (+c22_re)

Definition at line 271 of file llfat_core.h.

#define D1   kparam.D1

Definition at line 12 of file llfat_core.h.

#define D1h   kparam.D1h

Definition at line 16 of file llfat_core.h.

#define D2   kparam.D2

Definition at line 13 of file llfat_core.h.

#define D3   kparam.D3

Definition at line 14 of file llfat_core.h.

#define D4   kparam.D4

Definition at line 15 of file llfat_core.h.

#define DECLARE_NEW_X
Value:
short new_x1=x1; short new_x2=x2; \
short new_x3=x3; short new_x4=x4;
short x1
Definition: llfat_core.h:822
short x4
Definition: llfat_core.h:818
short x2
Definition: llfat_core.h:817
short x3
Definition: llfat_core.h:819

Definition at line 28 of file llfat_core.h.

#define DECLARE_VAR_SIGN   short sign=1

Definition at line 27 of file llfat_core.h.

#define DECLARE_X_ARRAY   int x[4] = {x1,x2,x3, x4};

Definition at line 30 of file llfat_core.h.

#define dimcomm   kparam.ghostDim

Definition at line 9 of file llfat_core.h.

#define f00_im   F0.y

Definition at line 173 of file llfat_core.h.

#define f00_re   F0.x

Definition at line 172 of file llfat_core.h.

#define f01_im   F1.y

Definition at line 175 of file llfat_core.h.

#define f01_re   F1.x

Definition at line 174 of file llfat_core.h.

#define f02_im   F2.y

Definition at line 177 of file llfat_core.h.

#define f02_re   F2.x

Definition at line 176 of file llfat_core.h.

#define f10_im   F3.y

Definition at line 179 of file llfat_core.h.

#define f10_re   F3.x

Definition at line 178 of file llfat_core.h.

#define f11_im   F4.y

Definition at line 181 of file llfat_core.h.

#define f11_re   F4.x

Definition at line 180 of file llfat_core.h.

#define f12_im   F5.y

Definition at line 183 of file llfat_core.h.

#define f12_re   F5.x

Definition at line 182 of file llfat_core.h.

#define f20_im   F6.y

Definition at line 185 of file llfat_core.h.

#define f20_re   F6.x

Definition at line 184 of file llfat_core.h.

#define f21_im   F7.y

Definition at line 187 of file llfat_core.h.

#define f21_re   F7.x

Definition at line 186 of file llfat_core.h.

#define f22_im   F8.y

Definition at line 189 of file llfat_core.h.

#define f22_re   F8.x

Definition at line 188 of file llfat_core.h.

#define fat00_im   FAT0.y

Definition at line 314 of file llfat_core.h.

#define fat00_re   FAT0.x

Definition at line 313 of file llfat_core.h.

#define fat01_im   FAT1.y

Definition at line 316 of file llfat_core.h.

#define fat01_re   FAT1.x

Definition at line 315 of file llfat_core.h.

#define fat02_im   FAT2.y

Definition at line 318 of file llfat_core.h.

#define fat02_re   FAT2.x

Definition at line 317 of file llfat_core.h.

#define fat10_im   FAT3.y

Definition at line 320 of file llfat_core.h.

#define fat10_re   FAT3.x

Definition at line 319 of file llfat_core.h.

#define fat11_im   FAT4.y

Definition at line 322 of file llfat_core.h.

#define fat11_re   FAT4.x

Definition at line 321 of file llfat_core.h.

#define fat12_im   FAT5.y

Definition at line 324 of file llfat_core.h.

#define fat12_re   FAT5.x

Definition at line 323 of file llfat_core.h.

#define fat20_im   FAT6.y

Definition at line 326 of file llfat_core.h.

#define fat20_re   FAT6.x

Definition at line 325 of file llfat_core.h.

#define fat21_im   FAT7.y

Definition at line 328 of file llfat_core.h.

#define fat21_re   FAT7.x

Definition at line 327 of file llfat_core.h.

#define fat22_im   FAT8.y

Definition at line 330 of file llfat_core.h.

#define fat22_re   FAT8.x

Definition at line 329 of file llfat_core.h.

#define LLFAT_COMPUTE_NEW_IDX_LOWER_STAPLE (   mydir1,
  mydir2 
)

Definition at line 691 of file llfat_core.h.

#define LLFAT_COMPUTE_NEW_IDX_LOWER_STAPLE_EX (   mydir1,
  mydir2 
)

Definition at line 763 of file llfat_core.h.

#define LLFAT_COMPUTE_NEW_IDX_MINUS (   mydir,
  idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_mem_idx = ( (x1==0)?idx+X1m1:idx-1) >> 1; \
break; \
case 1: \
new_mem_idx = ( (x2==0)?idx+X2X1mX1:idx-X1) >> 1; \
break; \
case 2: \
break; \
case 3: \
break; \
} \
}while(0)
short x1
Definition: llfat_core.h:822
__constant__ int X2X1mX1
__constant__ int X3X2X1mX2X1
__constant__ int X1
#define UPDATE_COOR_MINUS(mydir, idx)
Definition: llfat_core.h:365
__constant__ int X3X2X1
short x4
Definition: llfat_core.h:818
int new_mem_idx
Definition: llfat_core.h:834
__constant__ int X4X3X2X1mX3X2X1
short x2
Definition: llfat_core.h:817
__constant__ int X1m1
int idx
Definition: llfat_core.h:1418
short x3
Definition: llfat_core.h:819
__constant__ int X2X1

Definition at line 672 of file llfat_core.h.

#define LLFAT_COMPUTE_NEW_IDX_MINUS_EX (   mydir,
  idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_mem_idx = (idx-1) >> 1; \
break; \
case 1: \
new_mem_idx = (idx-E1) >> 1; \
break; \
case 2: \
new_mem_idx = (idx-E2E1) >> 1; \
break; \
case 3: \
new_mem_idx = (idx-E3E2E1) >> 1; \
break; \
} \
}while(0)
#define UPDATE_COOR_MINUS(mydir, idx)
Definition: llfat_core.h:365
__constant__ int E3E2E1
__constant__ int E2E1
int new_mem_idx
Definition: llfat_core.h:834
__constant__ int E1
int idx
Definition: llfat_core.h:1418

Definition at line 744 of file llfat_core.h.

#define LLFAT_COMPUTE_NEW_IDX_PLUS (   mydir,
  n,
  idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_mem_idx = ( (x1>=(X1-n))?idx-(X1-n):idx+n)>>1; \
break; \
case 1: \
new_mem_idx = ( (x2>=(X2-n))?idx-(X2-n)*X1:idx+n*X1)>>1; \
break; \
case 2: \
new_mem_idx = ( (x3>=(X3-n))?idx-(X3-n)*X2X1:idx+n*X2X1)>>1; \
break; \
case 3: \
new_mem_idx = ( (x4>=(X4-n))?idx-(X4-n)*X3X2X1 : idx+n*X3X2X1)>>1; \
break; \
} \
UPDATE_COOR_PLUS(mydir, n, idx); \
}while(0)
short x1
Definition: llfat_core.h:822
__constant__ int X2
__constant__ int X1
__constant__ int X3X2X1
#define UPDATE_COOR_PLUS(mydir, n, idx)
Definition: llfat_core.h:347
short x4
Definition: llfat_core.h:818
int new_mem_idx
Definition: llfat_core.h:834
short x2
Definition: llfat_core.h:817
__constant__ int X3
int idx
Definition: llfat_core.h:1418
__constant__ int X4
short x3
Definition: llfat_core.h:819
__constant__ int X2X1

Definition at line 653 of file llfat_core.h.

#define LLFAT_COMPUTE_NEW_IDX_PLUS_EX (   mydir,
  n,
  idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_mem_idx = (idx+n)>>1; \
break; \
case 1: \
new_mem_idx = (idx+n*E1)>>1; \
break; \
case 2: \
new_mem_idx = (idx+n*E2E1)>>1; \
break; \
case 3: \
new_mem_idx = (idx+n*E3E2E1)>>1; \
break; \
} \
UPDATE_COOR_PLUS(mydir, n, idx); \
}while(0)
#define UPDATE_COOR_PLUS(mydir, n, idx)
Definition: llfat_core.h:347
__constant__ int E3E2E1
__constant__ int E2E1
int new_mem_idx
Definition: llfat_core.h:834
__constant__ int E1
int idx
Definition: llfat_core.h:1418

Definition at line 726 of file llfat_core.h.

#define NUM_FLOATS   5

Definition at line 332 of file llfat_core.h.

#define tcomm   kparam.ghostDim[3]

Definition at line 8 of file llfat_core.h.

#define TEMPA0   sd_data[threadIdx.x + 0*blockDim.x]

Definition at line 333 of file llfat_core.h.

#define tempa00_im   TEMPA0.y

Definition at line 276 of file llfat_core.h.

#define tempa00_re   TEMPA0.x

Definition at line 275 of file llfat_core.h.

#define tempa01_im   TEMPA1.y

Definition at line 278 of file llfat_core.h.

#define tempa01_re   TEMPA1.x

Definition at line 277 of file llfat_core.h.

#define tempa02_im   TEMPA2.y

Definition at line 280 of file llfat_core.h.

#define tempa02_re   TEMPA2.x

Definition at line 279 of file llfat_core.h.

#define TEMPA1   sd_data[threadIdx.x + 1*blockDim.x ]

Definition at line 334 of file llfat_core.h.

#define tempa10_im   TEMPA3.y

Definition at line 282 of file llfat_core.h.

#define tempa10_re   TEMPA3.x

Definition at line 281 of file llfat_core.h.

#define tempa11_im   TEMPA4.y

Definition at line 284 of file llfat_core.h.

#define tempa11_re   TEMPA4.x

Definition at line 283 of file llfat_core.h.

#define tempa12_im   TEMPA5.y

Definition at line 286 of file llfat_core.h.

#define tempa12_re   TEMPA5.x

Definition at line 285 of file llfat_core.h.

#define TEMPA2   sd_data[threadIdx.x + 2*blockDim.x ]

Definition at line 335 of file llfat_core.h.

#define tempa20_im   TEMPA6.y

Definition at line 288 of file llfat_core.h.

#define tempa20_re   TEMPA6.x

Definition at line 287 of file llfat_core.h.

#define tempa21_im   TEMPA7.y

Definition at line 290 of file llfat_core.h.

#define tempa21_re   TEMPA7.x

Definition at line 289 of file llfat_core.h.

#define tempa22_im   TEMPA8.y

Definition at line 292 of file llfat_core.h.

#define tempa22_re   TEMPA8.x

Definition at line 291 of file llfat_core.h.

#define TEMPA3   sd_data[threadIdx.x + 3*blockDim.x ]

Definition at line 336 of file llfat_core.h.

#define TEMPA4   sd_data[threadIdx.x + 4*blockDim.x ]

Definition at line 337 of file llfat_core.h.

#define tempb00_im   TEMPB0.y

Definition at line 295 of file llfat_core.h.

#define tempb00_re   TEMPB0.x

Definition at line 294 of file llfat_core.h.

#define tempb01_im   TEMPB1.y

Definition at line 297 of file llfat_core.h.

#define tempb01_re   TEMPB1.x

Definition at line 296 of file llfat_core.h.

#define tempb02_im   TEMPB2.y

Definition at line 299 of file llfat_core.h.

#define tempb02_re   TEMPB2.x

Definition at line 298 of file llfat_core.h.

#define tempb10_im   TEMPB3.y

Definition at line 301 of file llfat_core.h.

#define tempb10_re   TEMPB3.x

Definition at line 300 of file llfat_core.h.

#define tempb11_im   TEMPB4.y

Definition at line 303 of file llfat_core.h.

#define tempb11_re   TEMPB4.x

Definition at line 302 of file llfat_core.h.

#define tempb12_im   TEMPB5.y

Definition at line 305 of file llfat_core.h.

#define tempb12_re   TEMPB5.x

Definition at line 304 of file llfat_core.h.

#define tempb20_im   TEMPB6.y

Definition at line 307 of file llfat_core.h.

#define tempb20_re   TEMPB6.x

Definition at line 306 of file llfat_core.h.

#define tempb21_im   TEMPB7.y

Definition at line 309 of file llfat_core.h.

#define tempb21_re   TEMPB7.x

Definition at line 308 of file llfat_core.h.

#define tempb22_im   TEMPB8.y

Definition at line 311 of file llfat_core.h.

#define tempb22_re   TEMPB8.x

Definition at line 310 of file llfat_core.h.

#define UPDATE_COOR_LOWER_STAPLE (   mydir1,
  mydir2 
)

Definition at line 382 of file llfat_core.h.

#define UPDATE_COOR_LOWER_STAPLE_DIAG (   nu,
  mu,
  dir1,
  dir2 
)
Value:
do { \
int new_x[4]; \
new_x[3] = x4; new_x[1] = x2; new_x[0] = x1; \
new_x[nu] = -1; \
new_x[mu] = 0; \
new_x1 = new_x[0]; \
new_x2 = new_x[1]; \
new_x4 = new_x[3]; \
}while(0)
short x1
Definition: llfat_core.h:822
__global__ void const RealA *const const RealA *const const RealA *const const RealB *const const RealB *const int int mu
short x4
Definition: llfat_core.h:818
short x2
Definition: llfat_core.h:817

Definition at line 444 of file llfat_core.h.

#define UPDATE_COOR_LOWER_STAPLE_EX (   mydir1,
  mydir2 
)
Value:
do { \
new_x1 = x1; new_x2 = x2; new_x4 = x4; \
switch(mydir1){ \
case 0: \
new_x1 = x1 - 1; \
break; \
case 1: \
new_x2 = x2 - 1; \
break; \
case 2: \
break; \
case 3: \
new_x4 = x4 - 1; \
break; \
} \
switch(mydir2){ \
case 0: \
new_x1 = x1+1; \
break; \
case 1: \
new_x2 = x2+1; \
break; \
case 2: \
break; \
case 3: \
new_x4 = x4+1; \
break; \
} \
}while(0)
short x1
Definition: llfat_core.h:822
short x4
Definition: llfat_core.h:818
short x2
Definition: llfat_core.h:817

Definition at line 454 of file llfat_core.h.

#define UPDATE_COOR_MINUS (   mydir,
  idx 
)
Value:
do { \
new_x1 = x1; new_x2 = x2; new_x4 = x4; \
switch(mydir){ \
case 0: \
new_x1 = x1-1; \
break; \
case 1: \
new_x2 = x2-1; \
break; \
case 2: \
break; \
case 3: \
new_x4 = x4-1; \
break; \
} \
}while(0)
short x1
Definition: llfat_core.h:822
short x4
Definition: llfat_core.h:818
short x2
Definition: llfat_core.h:817

Definition at line 365 of file llfat_core.h.

#define UPDATE_COOR_PLUS (   mydir,
  n,
  idx 
)
Value:
do { \
new_x1 = x1; new_x2 = x2; new_x3=x3; new_x4 = x4; \
switch(mydir){ \
case 0: \
new_x1 = x1+n; \
break; \
case 1: \
new_x2 = x2+n; \
break; \
case 2: \
new_x3 = x3+n; \
break; \
case 3: \
new_x4 = x4+n; \
break; \
} \
}while(0)
short x1
Definition: llfat_core.h:822
short x4
Definition: llfat_core.h:818
short x2
Definition: llfat_core.h:817
short x3
Definition: llfat_core.h:819

Definition at line 347 of file llfat_core.h.

#define Vsh_t   ghostFace[3]

Definition at line 4 of file llfat_core.h.

#define Vsh_x   ghostFace[0]

Definition at line 1 of file llfat_core.h.

#define Vsh_y   ghostFace[1]

Definition at line 2 of file llfat_core.h.

#define Vsh_z   ghostFace[2]

Definition at line 3 of file llfat_core.h.

#define WRITE_LONG_MATRIX   WRITE_GAUGE_MATRIX_FLOAT2

Definition at line 191 of file llfat_core.h.

#define xcomm   kparam.ghostDim[0]

Definition at line 5 of file llfat_core.h.

#define ycomm   kparam.ghostDim[1]

Definition at line 6 of file llfat_core.h.

#define zcomm   kparam.ghostDim[2]

Definition at line 7 of file llfat_core.h.

Function Documentation

COMPUTE_RECONSTRUCT_SIGN ( sign  ,
nu  ,
x1  ,
x2  ,
x3  ,
x4   
)
Initial value:
{
int mem_idx
Definition: llfat_core.h:812
LOAD_EVEN_SITE_MATRIX(nu, new_mem_idx, C)
COMPUTE_RECONSTRUCT_SIGN ( sign  ,
mu  ,
new_x1  ,
new_x2  ,
new_x3  ,
new_x4   
)
COMPUTE_RECONSTRUCT_SIGN ( sign  ,
nu  ,
new_x1  ,
new_x2  ,
new_x3  ,
new_x4   
)
COMPUTE_RECONSTRUCT_SIGN ( sign  ,
nu  ,
(x1-2)  ,
(x2-2)  ,
(x3-2)  ,
(x4-2)   
)
Initial value:
{
int mem_idx
Definition: llfat_core.h:812
LOAD_EVEN_SITE_MATRIX(nu, new_mem_idx, C)
COMPUTE_RECONSTRUCT_SIGN ( sign  ,
mu  ,
(new_x1-2)  ,
(new_x2-2)  ,
(new_x3-2)  ,
(new_x4-2)   
)
COMPUTE_RECONSTRUCT_SIGN ( sign  ,
nu  ,
(new_x1-2)  ,
(new_x2-2)  ,
(new_x3-2)  ,
(new_x4-2)   
)
for ( )

Definition at line 1135 of file llfat_core.h.

if ( kparam.  kernel_type = =LLFAT_EXTERIOR_KERNEL_FWD_X &&x1!=X1m1)

Definition at line 931 of file llfat_core.h.

if ( save_staple  )

Definition at line 1017 of file llfat_core.h.

if ( sid >=  threads)
if ( mem_idx >=  Vh)

Definition at line 1114 of file llfat_core.h.

if ( mem_idx >=kparam.  threads)
if ( x1==1||x1==X1+2||x2==1||x2==X2+2||x3==1||x3==X3+2||x4==1||x4==X4+2)

Definition at line 1270 of file llfat_core.h.

if ( sid >=2 *kparam.  threads)
if ( idx >=kparam.  threads)

Definition at line 1426 of file llfat_core.h.

LLFAT_ADD_SU3_MATRIX ( ,
staple  ,
staple   
)
LLFAT_ADD_SU3_MATRIX ( ,
staple  ,
staple   
)
LLFAT_COMPUTE_NEW_IDX_LOWER_STAPLE ( nu  ,
mu   
)
LLFAT_COMPUTE_NEW_IDX_LOWER_STAPLE_EX ( nu  ,
mu   
)
LLFAT_COMPUTE_NEW_IDX_MINUS ( nu  ,
X   
)
LLFAT_COMPUTE_NEW_IDX_MINUS_EX ( nu  ,
X   
)
LLFAT_COMPUTE_NEW_IDX_PLUS ( nu  ,
,
X   
)
LLFAT_COMPUTE_NEW_IDX_PLUS ( mu  ,
,
X   
)
LLFAT_COMPUTE_NEW_IDX_PLUS_EX ( nu  ,
,
X   
)
LLFAT_COMPUTE_NEW_IDX_PLUS_EX ( mu  ,
,
X   
)
template<int mu, int nu, int odd_bit>
__global__ void LLFAT_KERNEL ( do_siteComputeGenStapleParity  ,
RECONSTRUCT   
)
template<int mu, int nu, int odd_bit, int save_staple>
__global__ void LLFAT_KERNEL ( do_computeGenStapleFieldParity  ,
RECONSTRUCT   
)
__global__ void LLFAT_KERNEL ( llfatOneLink  ,
RECONSTRUCT   
) const
template<int odd_bit>
__global__ void LLFAT_KERNEL ( computeLongLinkParity  ,
RECONSTRUCT   
) const
template<int mu, int nu, int odd_bit>
__global__ void LLFAT_KERNEL_EX ( do_siteComputeGenStapleParity  ,
RECONSTRUCT   
)
template<int mu, int nu, int odd_bit, int save_staple>
__global__ void LLFAT_KERNEL_EX ( do_computeGenStapleFieldParity  ,
RECONSTRUCT   
)
__global__ void LLFAT_KERNEL_EX ( llfatOneLink  ,
RECONSTRUCT   
) const
LOAD_EVEN_FAT_MATRIX ( mu  ,
mem_idx   
)
LOAD_EVEN_SITE_MATRIX ( nu  ,
new_mem_idx  ,
 
)
LOAD_ODD_MULINK_MATRIX ( ,
new_mem_idx  ,
BB   
)
LOAD_ODD_SITE_MATRIX ( mu  ,
new_mem_idx  ,
 
)
LOAD_ODD_SITE_MATRIX ( nu  ,
new_mem_idx  ,
 
)
LOAD_ODD_SITE_MATRIX ( nu  ,
(new_mem_idx ,
 
)
Initial value:
{
int X
Definition: llfat_core.h:823
#define LLFAT_COMPUTE_NEW_IDX_MINUS_EX(mydir, idx)
Definition: llfat_core.h:744
LOAD_ODD_SITE_MATRIX ( mu  ,
(new_mem_idx ,
 
)
LOAD_ODD_SITE_MATRIX ( nu  ,
new_mem_idx  ,
 
)
Initial value:
{
int X
Definition: llfat_core.h:823
#define LLFAT_COMPUTE_NEW_IDX_MINUS_EX(mydir, idx)
Definition: llfat_core.h:744
MULT_SU3_AN ( ,
,
tempa   
)
MULT_SU3_AN ( ,
bb  ,
tempa   
)
MULT_SU3_NA ( tempa  ,
,
staple   
)
MULT_SU3_NN ( ,
,
tempa   
)
MULT_SU3_NN ( tempa  ,
,
 
)
MULT_SU3_NN ( ,
bb  ,
tempa   
)
MULT_SU3_NN ( tempa  ,
,
 
)
RECONSTRUCT_SITE_LINK ( sign  ,
 
)
RECONSTRUCT_SITE_LINK ( sign  ,
 
)
RECONSTRUCT_SITE_LINK ( sign  ,
 
)
WRITE_STAPLE_MATRIX ( staple_even  ,
mem_idx   
)

Variable Documentation

__global__ void const FloatN* const const FloatN* const Float coeff

Definition at line 1470 of file llfat_core.h.

__global__ void const FloatN FloatM FloatM Float coeff0

Definition at line 1096 of file llfat_core.h.

__global__ void const FloatN FloatM FloatM Float Float coeff5

Definition at line 1096 of file llfat_core.h.

DECLARE_NEW_X

Definition at line 836 of file llfat_core.h.

DECLARE_VAR_SIGN

Definition at line 835 of file llfat_core.h.

DECLARE_X_ARRAY

Definition at line 837 of file llfat_core.h.

else
Initial value:
{
MULT_SU3_NA(tempa, c, tempb)
MULT_SU3_NA(tempa, c, staple)

Definition at line 1019 of file llfat_core.h.

FloatN F0

Definition at line 1503 of file llfat_core.h.

FloatN F1

Definition at line 1503 of file llfat_core.h.

FloatN F2

Definition at line 1503 of file llfat_core.h.

FloatN F3

Definition at line 1503 of file llfat_core.h.

FloatN F4

Definition at line 1503 of file llfat_core.h.

FloatN F5

Definition at line 1503 of file llfat_core.h.

FloatN F6

Definition at line 1503 of file llfat_core.h.

FloatN F7

Definition at line 1503 of file llfat_core.h.

FloatN F8

Definition at line 1503 of file llfat_core.h.

__global__ void const FloatN FloatM * fatlink_even

Definition at line 800 of file llfat_core.h.

__global__ void const FloatN FloatM FloatM * fatlink_odd

Definition at line 800 of file llfat_core.h.

int idx = sid

Definition at line 1418 of file llfat_core.h.

__global__ void const FloatN* const const FloatN* const Float const llfat_kernel_param_t kparam
Initial value:
{
__shared__ FloatM sd_data[NUM_FLOATS*BLOCK_DIM]
__shared__ spinorFloat sd_data[]
#define NUM_FLOATS
Definition: llfat_core.h:332
#define BLOCK_DIM

Definition at line 804 of file llfat_core.h.

Definition at line 812 of file llfat_core.h.

__global__ void FloatM const FloatN const FloatN FloatM FloatM const FloatM * mulink_even

Definition at line 943 of file llfat_core.h.

__global__ void FloatM const FloatN const FloatN FloatM FloatM const FloatM const FloatM * mulink_odd

Definition at line 943 of file llfat_core.h.

FloatM * my_fatlink = fatlink_even

Definition at line 1101 of file llfat_core.h.

my_sitelink = sitelink_even

Definition at line 1112 of file llfat_core.h.

__global__ void FloatM const FloatN const FloatN FloatM FloatM const FloatM const FloatM Float mycoeff

Definition at line 800 of file llfat_core.h.

int new_mem_idx

Definition at line 834 of file llfat_core.h.

short odd_bit = 0

Definition at line 1109 of file llfat_core.h.

return

Definition at line 938 of file llfat_core.h.

Definition at line 1102 of file llfat_core.h.

__global__ void const FloatN *const sitelink_even

Definition at line 800 of file llfat_core.h.

__global__ void const FloatN *const const FloatN *const sitelink_odd

Definition at line 800 of file llfat_core.h.

FloatM STAPLE0

Definition at line 809 of file llfat_core.h.

FloatM STAPLE1

Definition at line 809 of file llfat_core.h.

FloatM STAPLE2

Definition at line 809 of file llfat_core.h.

FloatM STAPLE3

Definition at line 809 of file llfat_core.h.

FloatM STAPLE4

Definition at line 809 of file llfat_core.h.

FloatM STAPLE5

Definition at line 809 of file llfat_core.h.

FloatM STAPLE6

Definition at line 809 of file llfat_core.h.

FloatM STAPLE7

Definition at line 809 of file llfat_core.h.

FloatM STAPLE8

Definition at line 809 of file llfat_core.h.

__global__ void FloatM * staple_odd

Definition at line 800 of file llfat_core.h.

FloatM TEMPA5

Definition at line 808 of file llfat_core.h.

FloatM TEMPA6

Definition at line 808 of file llfat_core.h.

FloatM TEMPA7

Definition at line 808 of file llfat_core.h.

FloatM TEMPA8

Definition at line 808 of file llfat_core.h.

FloatM TEMPB0

Definition at line 952 of file llfat_core.h.

FloatM TEMPB1

Definition at line 952 of file llfat_core.h.

FloatM TEMPB2

Definition at line 952 of file llfat_core.h.

FloatM TEMPB3

Definition at line 952 of file llfat_core.h.

FloatM TEMPB4

Definition at line 952 of file llfat_core.h.

FloatM TEMPB5

Definition at line 952 of file llfat_core.h.

FloatM TEMPB6

Definition at line 952 of file llfat_core.h.

FloatM TEMPB7

Definition at line 952 of file llfat_core.h.

FloatM TEMPB8

Definition at line 952 of file llfat_core.h.

__global__ void const FloatN FloatM FloatM Float Float int threads
Initial value:
{
const FloatN* my_sitelink
my_sitelink
Definition: llfat_core.h:1112

Definition at line 1099 of file llfat_core.h.

int X = 2*mem_idx + x1odd

Definition at line 823 of file llfat_core.h.

short x1 = 2*x1h + x1odd

Definition at line 822 of file llfat_core.h.

short x1h = mem_idx - z1*X1h

Definition at line 815 of file llfat_core.h.

short x1odd = (x2 + x3 + x4 + odd_bit) & 1

Definition at line 821 of file llfat_core.h.

short x2 = z1 - z2*X2

Definition at line 817 of file llfat_core.h.

short x3 = z2 - x4*X3

Definition at line 819 of file llfat_core.h.

short x4 = z2 / X3

Definition at line 818 of file llfat_core.h.

int z1 = mem_idx / X1h

Definition at line 814 of file llfat_core.h.

int z2 = z1 / X2

Definition at line 816 of file llfat_core.h.