QUDA  v0.5.0
A library for QCD on GPUs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Macros | Functions
fermion_force_quda.cu File Reference
#include <read_gauge.h>
#include <gauge_field.h>
#include <fermion_force_quda.h>
#include <force_common.h>
#include <hw_quda.h>

Go to the source code of this file.

Namespaces

namespace  quda
 

Macros

#define BLOCK_DIM   64
 
#define LOAD_ANTI_HERMITIAN(src, dir, idx, var)   LOAD_ANTI_HERMITIAN_DIRECT(src, dir, idx, var, Vh)
 
#define LOAD_HW_SINGLE(hw_even, hw_odd, idx, var, oddness)
 
#define WRITE_HW_SINGLE(hw_even, hw_odd, idx, var, oddness)
 
#define LOAD_HW(hw_eve, hw_odd, idx, var, oddness)   LOAD_HW_SINGLE(hw_eve, hw_odd, idx, var, oddness)
 
#define WRITE_HW(hw_even, hw_odd, idx, var, oddness)   WRITE_HW_SINGLE(hw_even, hw_odd, idx, var, oddness)
 
#define LOAD_MATRIX(src, dir, idx, var)   LOAD_MATRIX_12_SINGLE(src, dir, idx, var, Vh)
 
#define FF_SITE_MATRIX_LOAD_TEX   1
 
#define linkEvenTex   siteLink0TexSingle_recon
 
#define linkOddTex   siteLink1TexSingle_recon
 
#define FF_LOAD_MATRIX(dir, idx, var, oddness)   LOAD_MATRIX_12_SINGLE_TEX(((oddness)?linkOddTex:linkEvenTex), dir, idx, var, Vh)
 
#define linka00_re   LINKA0.x
 
#define linka00_im   LINKA0.y
 
#define linka01_re   LINKA0.z
 
#define linka01_im   LINKA0.w
 
#define linka02_re   LINKA1.x
 
#define linka02_im   LINKA1.y
 
#define linka10_re   LINKA1.z
 
#define linka10_im   LINKA1.w
 
#define linka11_re   LINKA2.x
 
#define linka11_im   LINKA2.y
 
#define linka12_re   LINKA2.z
 
#define linka12_im   LINKA2.w
 
#define linka20_re   LINKA3.x
 
#define linka20_im   LINKA3.y
 
#define linka21_re   LINKA3.z
 
#define linka21_im   LINKA3.w
 
#define linka22_re   LINKA4.x
 
#define linka22_im   LINKA4.y
 
#define linkb00_re   LINKB0.x
 
#define linkb00_im   LINKB0.y
 
#define linkb01_re   LINKB0.z
 
#define linkb01_im   LINKB0.w
 
#define linkb02_re   LINKB1.x
 
#define linkb02_im   LINKB1.y
 
#define linkb10_re   LINKB1.z
 
#define linkb10_im   LINKB1.w
 
#define linkb11_re   LINKB2.x
 
#define linkb11_im   LINKB2.y
 
#define linkb12_re   LINKB2.z
 
#define linkb12_im   LINKB2.w
 
#define linkb20_re   LINKB3.x
 
#define linkb20_im   LINKB3.y
 
#define linkb21_re   LINKB3.z
 
#define linkb21_im   LINKB3.w
 
#define linkb22_re   LINKB4.x
 
#define linkb22_im   LINKB4.y
 
#define MAT_MUL_HW(M, HW, HWOUT)
 
#define ADJ_MAT_MUL_HW(M, HW, HWOUT)
 
#define SU3_PROJECTOR(va, vb, m)
 
#define SCALAR_MULT_ADD_SU3_VECTOR(va, vb, s, vc)
 
#define FF_COMPUTE_NEW_FULL_IDX_PLUS_UPDATE(mydir, idx, new_idx)
 
#define FF_COMPUTE_NEW_FULL_IDX_MINUS_UPDATE(mydir, idx, new_idx)
 
#define FF_COMPUTE_NEW_FULL_IDX_PLUS(old_x1, old_x2, old_x3, old_x4, idx, mydir, new_idx)
 
#define FF_COMPUTE_NEW_FULL_IDX_MINUS(old_x1, old_x2, old_x3, old_x4, idx, mydir, new_idx)
 
#define ADD_FORCE_TO_MOM(hw1, hw2, idx, dir, cf, oddness)
 
#define FF_COMPUTE_RECONSTRUCT_SIGN(sign, dir, i1, i2, i3, i4)
 
#define hwa00_re   HWA0.x
 
#define hwa00_im   HWA0.y
 
#define hwa01_re   HWA1.x
 
#define hwa01_im   HWA1.y
 
#define hwa02_re   HWA2.x
 
#define hwa02_im   HWA2.y
 
#define hwa10_re   HWA3.x
 
#define hwa10_im   HWA3.y
 
#define hwa11_re   HWA4.x
 
#define hwa11_im   HWA4.y
 
#define hwa12_re   HWA5.x
 
#define hwa12_im   HWA5.y
 
#define hwb00_re   HWB0.x
 
#define hwb00_im   HWB0.y
 
#define hwb01_re   HWB1.x
 
#define hwb01_im   HWB1.y
 
#define hwb02_re   HWB2.x
 
#define hwb02_im   HWB2.y
 
#define hwb10_re   HWB3.x
 
#define hwb10_im   HWB3.y
 
#define hwb11_re   HWB4.x
 
#define hwb11_im   HWB4.y
 
#define hwb12_re   HWB5.x
 
#define hwb12_im   HWB5.y
 
#define hwc00_re   HWC0.x
 
#define hwc00_im   HWC0.y
 
#define hwc01_re   HWC1.x
 
#define hwc01_im   HWC1.y
 
#define hwc02_re   HWC2.x
 
#define hwc02_im   HWC2.y
 
#define hwc10_re   HWC3.x
 
#define hwc10_im   HWC3.y
 
#define hwc11_re   HWC4.x
 
#define hwc11_im   HWC4.y
 
#define hwc12_re   HWC5.x
 
#define hwc12_im   HWC5.y
 
#define hwd00_re   HWD0.x
 
#define hwd00_im   HWD0.y
 
#define hwd01_re   HWD1.x
 
#define hwd01_im   HWD1.y
 
#define hwd02_re   HWD2.x
 
#define hwd02_im   HWD2.y
 
#define hwd10_re   HWD3.x
 
#define hwd10_im   HWD3.y
 
#define hwd11_re   HWD4.x
 
#define hwd11_im   HWD4.y
 
#define hwd12_re   HWD5.x
 
#define hwd12_im   HWD5.y
 
#define hwe00_re   HWE0.x
 
#define hwe00_im   HWE0.y
 
#define hwe01_re   HWE1.x
 
#define hwe01_im   HWE1.y
 
#define hwe02_re   HWE2.x
 
#define hwe02_im   HWE2.y
 
#define hwe10_re   HWE3.x
 
#define hwe10_im   HWE3.y
 
#define hwe11_re   HWE4.x
 
#define hwe11_im   HWE4.y
 
#define hwe12_re   HWE5.x
 
#define hwe12_im   HWE5.y
 
#define CALL_MIDDLE_LINK_KERNEL(sig_sign, mu_sign)
 
#define CALL_SIDE_LINK_KERNEL(sig_sign, mu_sign)
 
#define CALL_ALL_LINK_KERNEL(sig_sign, mu_sign)
 
#define Pmu   tempvec[0]
 
#define Pnumu   tempvec[1]
 
#define Prhonumu   tempvec[2]
 
#define P7   tempvec[3]
 
#define P7rho   tempvec[4]
 
#define P7rhonu   tempvec[5]
 
#define P5   tempvec[6]
 
#define P3   tempvec[7]
 
#define P5nu   tempvec[3]
 
#define P3mu   tempvec[3]
 
#define Popmu   tempvec[4]
 
#define Pmumumu   tempvec[4]
 

Functions

void quda::fermion_force_init_cuda (QudaGaugeParam *param)
 
template<int sig_positive, int mu_positive, int oddBit, typename Float2 >
__global__ void quda::do_middle_link_kernel (Float2 *tempxEven, Float2 *tempxOdd, Float2 *PmuEven, Float2 *PmuOdd, Float2 *P3Even, Float2 *P3Odd, int sig, int mu, Float2 coeff, float4 *linkEven, float4 *linkOdd, Float2 *momEven, Float2 *momOdd)
 
template<int sig_positive, int mu_positive, int oddBit, typename Float2 >
__global__ void quda::do_side_link_kernel (Float2 *P3Even, Float2 *P3Odd, Float2 *P3muEven, Float2 *P3muOdd, Float2 *TempxEven, Float2 *TempxOdd, Float2 *PmuEven, Float2 *PmuOdd, Float2 *shortPEven, Float2 *shortPOdd, int sig, int mu, Float2 coeff, Float2 accumu_coeff, float4 *linkEven, float4 *linkOdd, Float2 *momEven, Float2 *momOdd)
 
template<int sig_positive, int mu_positive, int oddBit, typename Float2 >
__global__ void quda::do_all_link_kernel (Float2 *tempxEven, Float2 *tempxOdd, Float2 *PmuEven, Float2 *PmuOdd, Float2 *P3Even, Float2 *P3Odd, Float2 *P3muEven, Float2 *P3muOdd, Float2 *shortPEven, Float2 *shortPOdd, int sig, int mu, Float2 coeff, Float2 mcoeff, Float2 accumu_coeff, float4 *linkEven, float4 *linkOdd, Float2 *momEven, Float2 *momOdd)
 
template<int oddBit, typename Float2 >
__global__ void quda::do_one_and_naik_terms_kernel (Float2 *TempxEven, Float2 *TempxOdd, Float2 *PmuEven, Float2 *PmuOdd, Float2 *PnumuEven, Float2 *PnumuOdd, int mu, Float2 OneLink, Float2 Naik, Float2 mNaik, float4 *linkEven, float4 *linkOdd, Float2 *momEven, Float2 *momOdd)
 
void quda::fermion_force_cuda (double eps, double weight1, double weight2, void *act_path_coeff, FullHw cudaHw, cudaGaugeField &cudaSiteLink, cudaGaugeField &cudaMom, QudaGaugeParam *param)
 

Macro Definition Documentation

#define ADD_FORCE_TO_MOM (   hw1,
  hw2,
  idx,
  dir,
  cf,
  oddness 
)
Value:
do{ \
Float2 my_coeff; \
int mydir; \
mydir=OPP_DIR(dir); \
my_coeff.x = -cf.x; \
my_coeff.y = -cf.y; \
}else{ \
mydir=dir; \
my_coeff.x = cf.x; \
my_coeff.y = cf.y; \
} \
Float2 tmp_coeff; \
tmp_coeff.x = my_coeff.x; \
tmp_coeff.y = my_coeff.y; \
if(oddness){ \
tmp_coeff.x = - my_coeff.x; \
tmp_coeff.y = - my_coeff.y; \
} \
Float2* mom = oddness?momOdd:momEven; \
LOAD_ANTI_HERMITIAN(mom, mydir, idx, AH); \
UNCOMPRESS_ANTI_HERMITIAN(ah, linka); \
SU3_PROJECTOR(hw1##0, hw2##0, linkb); \
SCALAR_MULT_ADD_SU3_MATRIX(linka, linkb, tmp_coeff.x, linka); \
SU3_PROJECTOR(hw1##1, hw2##1, linkb); \
SCALAR_MULT_ADD_SU3_MATRIX(linka, linkb, tmp_coeff.y, linka); \
MAKE_ANTI_HERMITIAN(linka, ah); \
WRITE_ANTI_HERMITIAN(mom, mydir, idx, AH, Vh); \
}while(0)

Definition at line 277 of file fermion_force_quda.cu.

#define ADJ_MAT_MUL_HW (   M,
  HW,
  HWOUT 
)

Definition at line 129 of file fermion_force_quda.cu.

#define BLOCK_DIM   64

Definition at line 11 of file fermion_force_quda.cu.

#define CALL_ALL_LINK_KERNEL (   sig_sign,
  mu_sign 
)
Value:
do_all_link_kernel<sig_sign,mu_sign,0><<<halfGridDim, blockDim>>>(tempxEven, tempxOdd, \
PmuEven, PmuOdd, \
P3Even, P3Odd, \
P3muEven, P3muOdd, \
shortPEven, shortPOdd, \
sig, mu, coeff, mcoeff, accumu_coeff, \
linkEven, linkOdd, \
momEven, momOdd); \
do_all_link_kernel<sig_sign,mu_sign,1><<<halfGridDim, blockDim>>>(tempxEven, tempxOdd, \
PmuEven, PmuOdd, \
P3Even, P3Odd, \
P3muEven, P3muOdd, \
shortPEven, shortPOdd, \
sig, mu, coeff, mcoeff, accumu_coeff, \
linkEven, linkOdd, \
momEven, momOdd);
#define CALL_MIDDLE_LINK_KERNEL (   sig_sign,
  mu_sign 
)
Value:
do_middle_link_kernel<sig_sign, mu_sign,0><<<halfGridDim, BlockDim>>>( tempxEven, tempxOdd, \
PmuEven, PmuOdd, \
P3Even, P3Odd, \
sig, mu, coeff, \
linkEven, linkOdd, \
momEven, momOdd); \
do_middle_link_kernel<sig_sign, mu_sign, 1><<<halfGridDim, BlockDim>>>(tempxEven, tempxOdd, \
PmuEven, PmuOdd, \
P3Even, P3Odd, \
sig, mu, coeff, \
linkEven, linkOdd, \
momEven, momOdd);
#define CALL_SIDE_LINK_KERNEL (   sig_sign,
  mu_sign 
)
Value:
do_side_link_kernel<sig_sign,mu_sign,0><<<halfGridDim, blockDim>>>( P3Even, P3Odd, \
P3muEven, P3muOdd, \
TempxEven, TempxOdd, \
PmuEven, PmuOdd, \
shortPEven, shortPOdd, \
sig, mu, coeff, accumu_coeff, \
linkEven, linkOdd, \
momEven, momOdd); \
do_side_link_kernel<sig_sign,mu_sign,1><<<halfGridDim, blockDim>>>( P3Even, P3Odd, \
P3muEven, P3muOdd, \
TempxEven, TempxOdd, \
PmuEven, PmuOdd, \
shortPEven, shortPOdd, \
sig, mu, coeff, accumu_coeff, \
linkEven, linkOdd, \
momEven, momOdd);
#define FF_COMPUTE_NEW_FULL_IDX_MINUS (   old_x1,
  old_x2,
  old_x3,
  old_x4,
  idx,
  mydir,
  new_idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_idx = ( (old_x1==0)?idx+X1m1:idx-1); \
break; \
case 1: \
new_idx = ( (old_x2==0)?idx+X2X1mX1:idx-X1); \
break; \
case 2: \
new_idx = ( (old_x3==0)?idx+X3X2X1mX2X1:idx-X2X1); \
break; \
case 3: \
new_idx = ( (old_x4==0)?idx+X4X3X2X1mX3X2X1:idx-X3X2X1); \
break; \
} \
}while(0)

Definition at line 259 of file fermion_force_quda.cu.

#define FF_COMPUTE_NEW_FULL_IDX_MINUS_UPDATE (   mydir,
  idx,
  new_idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_idx = ( (new_x1==0)?idx+X1m1:idx-1); \
new_x1 = (new_x1==0)?X1m1:new_x1 - 1; \
break; \
case 1: \
new_idx = ( (new_x2==0)?idx+X2X1mX1:idx-X1); \
new_x2 = (new_x2==0)?X2m1:new_x2 - 1; \
break; \
case 2: \
new_idx = ( (new_x3==0)?idx+X3X2X1mX2X1:idx-X2X1); \
new_x3 = (new_x3==0)?X3m1:new_x3 - 1; \
break; \
case 3: \
new_idx = ( (new_x4==0)?idx+X4X3X2X1mX3X2X1:idx-X3X2X1); \
new_x4 = (new_x4==0)?X4m1:new_x4 - 1; \
break; \
} \
}while(0)

Definition at line 220 of file fermion_force_quda.cu.

#define FF_COMPUTE_NEW_FULL_IDX_PLUS (   old_x1,
  old_x2,
  old_x3,
  old_x4,
  idx,
  mydir,
  new_idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_idx = ( (old_x1==X1m1)?idx-X1m1:idx+1); \
break; \
case 1: \
new_idx = ( (old_x2==X2m1)?idx-X2X1mX1:idx+X1); \
break; \
case 2: \
new_idx = ( (old_x3==X3m1)?idx-X3X2X1mX2X1:idx+X2X1); \
break; \
case 3: \
new_idx = ( (old_x4==X4m1)?idx-X4X3X2X1mX3X2X1:idx+X3X2X1); \
break; \
} \
}while(0)

Definition at line 242 of file fermion_force_quda.cu.

#define FF_COMPUTE_NEW_FULL_IDX_PLUS_UPDATE (   mydir,
  idx,
  new_idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_idx = ( (new_x1==X1m1)?idx-X1m1:idx+1); \
new_x1 = (new_x1==X1m1)?0:new_x1+1; \
break; \
case 1: \
new_idx = ( (new_x2==X2m1)?idx-X2X1mX1:idx+X1); \
new_x2 = (new_x2==X2m1)?0:new_x2+1; \
break; \
case 2: \
new_idx = ( (new_x3==X3m1)?idx-X3X2X1mX2X1:idx+X2X1); \
new_x3 = (new_x3==X3m1)?0:new_x3+1; \
break; \
case 3: \
new_idx = ( (new_x4==X4m1)?idx-X4X3X2X1mX3X2X1:idx+X3X2X1); \
new_x4 = (new_x4==X4m1)?0:new_x4+1; \
break; \
} \
}while(0)

Definition at line 199 of file fermion_force_quda.cu.

#define FF_COMPUTE_RECONSTRUCT_SIGN (   sign,
  dir,
  i1,
  i2,
  i3,
  i4 
)
Value:
do { \
sign =1; \
switch(dir){ \
case XUP: \
if ( (i4 & 1) == 1){ \
sign = -1; \
} \
break; \
case YUP: \
if ( ((i4+i1) & 1) == 1){ \
sign = -1; \
} \
break; \
case ZUP: \
if ( ((i4+i1+i2) & 1) == 1){ \
sign = -1; \
} \
break; \
case TUP: \
if (i4 == X4m1 ){ \
sign = -1; \
} \
break; \
} \
}while (0)

Definition at line 308 of file fermion_force_quda.cu.

#define FF_LOAD_MATRIX (   dir,
  idx,
  var,
  oddness 
)    LOAD_MATRIX_12_SINGLE_TEX(((oddness)?linkOddTex:linkEvenTex), dir, idx, var, Vh)

Definition at line 45 of file fermion_force_quda.cu.

#define FF_SITE_MATRIX_LOAD_TEX   1

Definition at line 39 of file fermion_force_quda.cu.

#define hwa00_im   HWA0.y

Definition at line 336 of file fermion_force_quda.cu.

#define hwa00_re   HWA0.x

Definition at line 335 of file fermion_force_quda.cu.

#define hwa01_im   HWA1.y

Definition at line 338 of file fermion_force_quda.cu.

#define hwa01_re   HWA1.x

Definition at line 337 of file fermion_force_quda.cu.

#define hwa02_im   HWA2.y

Definition at line 340 of file fermion_force_quda.cu.

#define hwa02_re   HWA2.x

Definition at line 339 of file fermion_force_quda.cu.

#define hwa10_im   HWA3.y

Definition at line 342 of file fermion_force_quda.cu.

#define hwa10_re   HWA3.x

Definition at line 341 of file fermion_force_quda.cu.

#define hwa11_im   HWA4.y

Definition at line 344 of file fermion_force_quda.cu.

#define hwa11_re   HWA4.x

Definition at line 343 of file fermion_force_quda.cu.

#define hwa12_im   HWA5.y

Definition at line 346 of file fermion_force_quda.cu.

#define hwa12_re   HWA5.x

Definition at line 345 of file fermion_force_quda.cu.

#define hwb00_im   HWB0.y

Definition at line 349 of file fermion_force_quda.cu.

#define hwb00_re   HWB0.x

Definition at line 348 of file fermion_force_quda.cu.

#define hwb01_im   HWB1.y

Definition at line 351 of file fermion_force_quda.cu.

#define hwb01_re   HWB1.x

Definition at line 350 of file fermion_force_quda.cu.

#define hwb02_im   HWB2.y

Definition at line 353 of file fermion_force_quda.cu.

#define hwb02_re   HWB2.x

Definition at line 352 of file fermion_force_quda.cu.

#define hwb10_im   HWB3.y

Definition at line 355 of file fermion_force_quda.cu.

#define hwb10_re   HWB3.x

Definition at line 354 of file fermion_force_quda.cu.

#define hwb11_im   HWB4.y

Definition at line 357 of file fermion_force_quda.cu.

#define hwb11_re   HWB4.x

Definition at line 356 of file fermion_force_quda.cu.

#define hwb12_im   HWB5.y

Definition at line 359 of file fermion_force_quda.cu.

#define hwb12_re   HWB5.x

Definition at line 358 of file fermion_force_quda.cu.

#define hwc00_im   HWC0.y

Definition at line 362 of file fermion_force_quda.cu.

#define hwc00_re   HWC0.x

Definition at line 361 of file fermion_force_quda.cu.

#define hwc01_im   HWC1.y

Definition at line 364 of file fermion_force_quda.cu.

#define hwc01_re   HWC1.x

Definition at line 363 of file fermion_force_quda.cu.

#define hwc02_im   HWC2.y

Definition at line 366 of file fermion_force_quda.cu.

#define hwc02_re   HWC2.x

Definition at line 365 of file fermion_force_quda.cu.

#define hwc10_im   HWC3.y

Definition at line 368 of file fermion_force_quda.cu.

#define hwc10_re   HWC3.x

Definition at line 367 of file fermion_force_quda.cu.

#define hwc11_im   HWC4.y

Definition at line 370 of file fermion_force_quda.cu.

#define hwc11_re   HWC4.x

Definition at line 369 of file fermion_force_quda.cu.

#define hwc12_im   HWC5.y

Definition at line 372 of file fermion_force_quda.cu.

#define hwc12_re   HWC5.x

Definition at line 371 of file fermion_force_quda.cu.

#define hwd00_im   HWD0.y

Definition at line 375 of file fermion_force_quda.cu.

#define hwd00_re   HWD0.x

Definition at line 374 of file fermion_force_quda.cu.

#define hwd01_im   HWD1.y

Definition at line 377 of file fermion_force_quda.cu.

#define hwd01_re   HWD1.x

Definition at line 376 of file fermion_force_quda.cu.

#define hwd02_im   HWD2.y

Definition at line 379 of file fermion_force_quda.cu.

#define hwd02_re   HWD2.x

Definition at line 378 of file fermion_force_quda.cu.

#define hwd10_im   HWD3.y

Definition at line 381 of file fermion_force_quda.cu.

#define hwd10_re   HWD3.x

Definition at line 380 of file fermion_force_quda.cu.

#define hwd11_im   HWD4.y

Definition at line 383 of file fermion_force_quda.cu.

#define hwd11_re   HWD4.x

Definition at line 382 of file fermion_force_quda.cu.

#define hwd12_im   HWD5.y

Definition at line 385 of file fermion_force_quda.cu.

#define hwd12_re   HWD5.x

Definition at line 384 of file fermion_force_quda.cu.

#define hwe00_im   HWE0.y

Definition at line 388 of file fermion_force_quda.cu.

#define hwe00_re   HWE0.x

Definition at line 387 of file fermion_force_quda.cu.

#define hwe01_im   HWE1.y

Definition at line 390 of file fermion_force_quda.cu.

#define hwe01_re   HWE1.x

Definition at line 389 of file fermion_force_quda.cu.

#define hwe02_im   HWE2.y

Definition at line 392 of file fermion_force_quda.cu.

#define hwe02_re   HWE2.x

Definition at line 391 of file fermion_force_quda.cu.

#define hwe10_im   HWE3.y

Definition at line 394 of file fermion_force_quda.cu.

#define hwe10_re   HWE3.x

Definition at line 393 of file fermion_force_quda.cu.

#define hwe11_im   HWE4.y

Definition at line 396 of file fermion_force_quda.cu.

#define hwe11_re   HWE4.x

Definition at line 395 of file fermion_force_quda.cu.

#define hwe12_im   HWE5.y

Definition at line 398 of file fermion_force_quda.cu.

#define hwe12_re   HWE5.x

Definition at line 397 of file fermion_force_quda.cu.

#define linka00_im   LINKA0.y

Definition at line 52 of file fermion_force_quda.cu.

#define linka00_re   LINKA0.x

Definition at line 51 of file fermion_force_quda.cu.

#define linka01_im   LINKA0.w

Definition at line 54 of file fermion_force_quda.cu.

#define linka01_re   LINKA0.z

Definition at line 53 of file fermion_force_quda.cu.

#define linka02_im   LINKA1.y

Definition at line 56 of file fermion_force_quda.cu.

#define linka02_re   LINKA1.x

Definition at line 55 of file fermion_force_quda.cu.

#define linka10_im   LINKA1.w

Definition at line 58 of file fermion_force_quda.cu.

#define linka10_re   LINKA1.z

Definition at line 57 of file fermion_force_quda.cu.

#define linka11_im   LINKA2.y

Definition at line 60 of file fermion_force_quda.cu.

#define linka11_re   LINKA2.x

Definition at line 59 of file fermion_force_quda.cu.

#define linka12_im   LINKA2.w

Definition at line 62 of file fermion_force_quda.cu.

#define linka12_re   LINKA2.z

Definition at line 61 of file fermion_force_quda.cu.

#define linka20_im   LINKA3.y

Definition at line 64 of file fermion_force_quda.cu.

#define linka20_re   LINKA3.x

Definition at line 63 of file fermion_force_quda.cu.

#define linka21_im   LINKA3.w

Definition at line 66 of file fermion_force_quda.cu.

#define linka21_re   LINKA3.z

Definition at line 65 of file fermion_force_quda.cu.

#define linka22_im   LINKA4.y

Definition at line 68 of file fermion_force_quda.cu.

#define linka22_re   LINKA4.x

Definition at line 67 of file fermion_force_quda.cu.

#define linkb00_im   LINKB0.y

Definition at line 71 of file fermion_force_quda.cu.

#define linkb00_re   LINKB0.x

Definition at line 70 of file fermion_force_quda.cu.

#define linkb01_im   LINKB0.w

Definition at line 73 of file fermion_force_quda.cu.

#define linkb01_re   LINKB0.z

Definition at line 72 of file fermion_force_quda.cu.

#define linkb02_im   LINKB1.y

Definition at line 75 of file fermion_force_quda.cu.

#define linkb02_re   LINKB1.x

Definition at line 74 of file fermion_force_quda.cu.

#define linkb10_im   LINKB1.w

Definition at line 77 of file fermion_force_quda.cu.

#define linkb10_re   LINKB1.z

Definition at line 76 of file fermion_force_quda.cu.

#define linkb11_im   LINKB2.y

Definition at line 79 of file fermion_force_quda.cu.

#define linkb11_re   LINKB2.x

Definition at line 78 of file fermion_force_quda.cu.

#define linkb12_im   LINKB2.w

Definition at line 81 of file fermion_force_quda.cu.

#define linkb12_re   LINKB2.z

Definition at line 80 of file fermion_force_quda.cu.

#define linkb20_im   LINKB3.y

Definition at line 83 of file fermion_force_quda.cu.

#define linkb20_re   LINKB3.x

Definition at line 82 of file fermion_force_quda.cu.

#define linkb21_im   LINKB3.w

Definition at line 85 of file fermion_force_quda.cu.

#define linkb21_re   LINKB3.z

Definition at line 84 of file fermion_force_quda.cu.

#define linkb22_im   LINKB4.y

Definition at line 87 of file fermion_force_quda.cu.

#define linkb22_re   LINKB4.x

Definition at line 86 of file fermion_force_quda.cu.

#define linkEvenTex   siteLink0TexSingle_recon

Definition at line 41 of file fermion_force_quda.cu.

#define linkOddTex   siteLink1TexSingle_recon

Definition at line 42 of file fermion_force_quda.cu.

#define LOAD_ANTI_HERMITIAN (   src,
  dir,
  idx,
  var 
)    LOAD_ANTI_HERMITIAN_DIRECT(src, dir, idx, var, Vh)

Definition at line 13 of file fermion_force_quda.cu.

#define LOAD_HW (   hw_eve,
  hw_odd,
  idx,
  var,
  oddness 
)    LOAD_HW_SINGLE(hw_eve, hw_odd, idx, var, oddness)

Definition at line 35 of file fermion_force_quda.cu.

#define LOAD_HW_SINGLE (   hw_even,
  hw_odd,
  idx,
  var,
  oddness 
)
Value:
do{ \
Float2* hw = (oddness)?hw_odd:hw_even; \
var##0 = hw[idx + 0*Vh]; \
var##1 = hw[idx + 1*Vh]; \
var##2 = hw[idx + 2*Vh]; \
var##3 = hw[idx + 3*Vh]; \
var##4 = hw[idx + 4*Vh]; \
var##5 = hw[idx + 5*Vh]; \
}while(0)

Definition at line 15 of file fermion_force_quda.cu.

#define LOAD_MATRIX (   src,
  dir,
  idx,
  var 
)    LOAD_MATRIX_12_SINGLE(src, dir, idx, var, Vh)

Definition at line 37 of file fermion_force_quda.cu.

#define MAT_MUL_HW (   M,
  HW,
  HWOUT 
)

Definition at line 90 of file fermion_force_quda.cu.

#define P3   tempvec[7]

Definition at line 1188 of file fermion_force_quda.cu.

#define P3mu   tempvec[3]

Definition at line 1190 of file fermion_force_quda.cu.

#define P5   tempvec[6]

Definition at line 1187 of file fermion_force_quda.cu.

#define P5nu   tempvec[3]

Definition at line 1189 of file fermion_force_quda.cu.

#define P7   tempvec[3]

Definition at line 1184 of file fermion_force_quda.cu.

#define P7rho   tempvec[4]

Definition at line 1185 of file fermion_force_quda.cu.

#define P7rhonu   tempvec[5]

Definition at line 1186 of file fermion_force_quda.cu.

#define Pmu   tempvec[0]

Definition at line 1181 of file fermion_force_quda.cu.

#define Pmumumu   tempvec[4]

Definition at line 1192 of file fermion_force_quda.cu.

#define Pnumu   tempvec[1]

Definition at line 1182 of file fermion_force_quda.cu.

#define Popmu   tempvec[4]

Definition at line 1191 of file fermion_force_quda.cu.

#define Prhonumu   tempvec[2]

Definition at line 1183 of file fermion_force_quda.cu.

#define SCALAR_MULT_ADD_SU3_VECTOR (   va,
  vb,
  s,
  vc 
)
Value:
do { \
vc##0_re = va##0_re + vb##0_re * s; \
vc##0_im = va##0_im + vb##0_im * s; \
vc##1_re = va##1_re + vb##1_re * s; \
vc##1_im = va##1_im + vb##1_im * s; \
vc##2_re = va##2_re + vb##2_re * s; \
vc##2_im = va##2_im + vb##2_im * s; \
}while (0)

Definition at line 189 of file fermion_force_quda.cu.

#define SU3_PROJECTOR (   va,
  vb,
 
)
Value:
m##00_re = va##0_re * vb##0_re + va##0_im * vb##0_im; \
m##00_im = va##0_im * vb##0_re - va##0_re * vb##0_im; \
m##01_re = va##0_re * vb##1_re + va##0_im * vb##1_im; \
m##01_im = va##0_im * vb##1_re - va##0_re * vb##1_im; \
m##02_re = va##0_re * vb##2_re + va##0_im * vb##2_im; \
m##02_im = va##0_im * vb##2_re - va##0_re * vb##2_im; \
m##10_re = va##1_re * vb##0_re + va##1_im * vb##0_im; \
m##10_im = va##1_im * vb##0_re - va##1_re * vb##0_im; \
m##11_re = va##1_re * vb##1_re + va##1_im * vb##1_im; \
m##11_im = va##1_im * vb##1_re - va##1_re * vb##1_im; \
m##12_re = va##1_re * vb##2_re + va##1_im * vb##2_im; \
m##12_im = va##1_im * vb##2_re - va##1_re * vb##2_im; \
m##20_re = va##2_re * vb##0_re + va##2_im * vb##0_im; \
m##20_im = va##2_im * vb##0_re - va##2_re * vb##0_im; \
m##21_re = va##2_re * vb##1_re + va##2_im * vb##1_im; \
m##21_im = va##2_im * vb##1_re - va##2_re * vb##1_im; \
m##22_re = va##2_re * vb##2_re + va##2_im * vb##2_im; \
m##22_im = va##2_im * vb##2_re - va##2_re * vb##2_im;

Definition at line 168 of file fermion_force_quda.cu.

#define WRITE_HW (   hw_even,
  hw_odd,
  idx,
  var,
  oddness 
)    WRITE_HW_SINGLE(hw_even, hw_odd, idx, var, oddness)

Definition at line 36 of file fermion_force_quda.cu.

#define WRITE_HW_SINGLE (   hw_even,
  hw_odd,
  idx,
  var,
  oddness 
)
Value:
do{ \
Float2* hw = (oddness)?hw_odd:hw_even; \
hw[idx + 0*Vh] = var##0; \
hw[idx + 1*Vh] = var##1; \
hw[idx + 2*Vh] = var##2; \
hw[idx + 3*Vh] = var##3; \
hw[idx + 4*Vh] = var##4; \
hw[idx + 5*Vh] = var##5; \
}while(0)

Definition at line 25 of file fermion_force_quda.cu.