QUDA  0.9.0
Functions | Variables
dw_dslash_cuda_gen Namespace Reference

Functions

def complexify (a)
 complex numbers ######################################################################## More...
 
def complexToStr (c)
 
def gplus (g1, g2)
 
def gminus (g1, g2)
 
def projectorToStr (p)
 
def indent (code, n=1)
 code generation ######################################################################## More...
 
def block (code)
 
def sign (x)
 
def nthFloat4 (n)
 
def nthFloat2 (n)
 
def in_re (s, c)
 
def in_im (s, c)
 
def g_re (d, m, n)
 
def g_im (d, m, n)
 
def out_re (s, c)
 
def out_im (s, c)
 
def h1_re (h, c)
 
def h1_im (h, c)
 
def h2_re (h, c)
 
def h2_im (h, c)
 
def c_re (b, sm, cm, sn, cn)
 
def c_im (b, sm, cm, sn, cn)
 
def a_re (b, s, c)
 
def a_im (b, s, c)
 
def tmp_re (s, c)
 
def tmp_im (s, c)
 
def def_input_spinor ()
 
def def_gauge ()
 
def def_clover ()
 
def def_output_spinor ()
 
def prolog ()
 
def gen (dir, pack_only=False)
 
def gen_dw ()
 
def input_spinor (s, c, z)
 
def to_chiral_basis (c)
 
def from_chiral_basis (c)
 
def clover_mult (chi)
 
def apply_clover ()
 
def xpay_lmem_pre ()
 
def xpay_lmem ()
 
def epilog ()
 
def pack_face (facenum)
 
def generate_pack ()
 
def generate_dslash ()
 
def generate_clover ()
 

Variables

def id
 projector matrices ######################################################################## More...
 
def gamma1
 
def gamma2
 
def gamma3
 
def gamma4
 
def igamma5
 
list two_P_L = [ id[x] - igamma5[x]/1j for x in range(0,4*4) ]
 
list two_P_R = [ id[x] + igamma5[x]/1j for x in range(0,4*4) ]
 
list projectors
 
int sharedFloats = 0
 
int cloverSharedFloats = 0
 
bool domain_wall = True
 
bool twist = False
 
bool clover = False
 
bool dslash = True
 
bool dagger = False
 
 f = open('dslash_core/dw_dslash_core.h', 'w')
 

Function Documentation

◆ a_im()

def dw_dslash_cuda_gen.a_im (   b,
  s,
  c 
)

Definition at line 140 of file dw_dslash_cuda_gen.py.

Referenced by clover_mult(), from_chiral_basis(), and to_chiral_basis().

Here is the caller graph for this function:

◆ a_re()

def dw_dslash_cuda_gen.a_re (   b,
  s,
  c 
)

Definition at line 139 of file dw_dslash_cuda_gen.py.

Referenced by clover_mult(), from_chiral_basis(), and to_chiral_basis().

Here is the caller graph for this function:

◆ apply_clover()

def dw_dslash_cuda_gen.apply_clover ( )

Definition at line 879 of file dw_dslash_cuda_gen.py.

References clover_mult(), from_chiral_basis(), and to_chiral_basis().

Referenced by epilog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ block()

def dw_dslash_cuda_gen.block (   code)

Definition at line 111 of file dw_dslash_cuda_gen.py.

References indent().

Referenced by clover_mult(), epilog(), from_chiral_basis(), gen(), generate_pack(), pack_face(), and to_chiral_basis().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ c_im()

def dw_dslash_cuda_gen.c_im (   b,
  sm,
  cm,
  sn,
  cn 
)

Definition at line 138 of file dw_dslash_cuda_gen.py.

Referenced by clover_mult(), def_clover(), and epilog().

Here is the caller graph for this function:

◆ c_re()

def dw_dslash_cuda_gen.c_re (   b,
  sm,
  cm,
  sn,
  cn 
)

Definition at line 137 of file dw_dslash_cuda_gen.py.

Referenced by clover_mult(), def_clover(), and epilog().

Here is the caller graph for this function:

◆ clover_mult()

def dw_dslash_cuda_gen.clover_mult (   chi)

Definition at line 847 of file dw_dslash_cuda_gen.py.

References a_im(), a_re(), block(), c_im(), c_re(), out_im(), and out_re().

Referenced by apply_clover().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ complexify()

def dw_dslash_cuda_gen.complexify (   a)

complex numbers ########################################################################

Definition at line 6 of file dw_dslash_cuda_gen.py.

◆ complexToStr()

def dw_dslash_cuda_gen.complexToStr (   c)

Definition at line 9 of file dw_dslash_cuda_gen.py.

References int.

Referenced by projectorToStr().

Here is the caller graph for this function:

◆ def_clover()

def dw_dslash_cuda_gen.def_clover ( )

Definition at line 200 of file dw_dslash_cuda_gen.py.

References c_im(), c_re(), nthFloat2(), and nthFloat4().

Referenced by prolog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ def_gauge()

def dw_dslash_cuda_gen.def_gauge ( )

Definition at line 168 of file dw_dslash_cuda_gen.py.

References g_im(), g_re(), nthFloat2(), and nthFloat4().

Referenced by prolog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ def_input_spinor()

def dw_dslash_cuda_gen.def_input_spinor ( )

Definition at line 146 of file dw_dslash_cuda_gen.py.

References in_im(), in_re(), nthFloat2(), and nthFloat4().

Referenced by generate_pack(), and prolog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ def_output_spinor()

def dw_dslash_cuda_gen.def_output_spinor ( )

Definition at line 260 of file dw_dslash_cuda_gen.py.

References out_im(), and out_re().

Referenced by prolog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ epilog()

def dw_dslash_cuda_gen.epilog ( )

Definition at line 968 of file dw_dslash_cuda_gen.py.

References apply_clover(), block(), c_im(), c_re(), g_im(), g_re(), in_im(), in_re(), out_im(), out_re(), dslash_cuda_gen.twisted(), xpay_lmem(), and xpay_lmem_pre().

Referenced by generate_clover(), and generate_dslash().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ from_chiral_basis()

def dw_dslash_cuda_gen.from_chiral_basis (   c)

Definition at line 827 of file dw_dslash_cuda_gen.py.

References a_im(), a_re(), block(), out_im(), and out_re().

Referenced by apply_clover().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ g_im()

def dw_dslash_cuda_gen.g_im (   d,
  m,
  n 
)

Definition at line 130 of file dw_dslash_cuda_gen.py.

Referenced by def_gauge(), epilog(), and gen().

Here is the caller graph for this function:

◆ g_re()

def dw_dslash_cuda_gen.g_re (   d,
  m,
  n 
)

Definition at line 129 of file dw_dslash_cuda_gen.py.

Referenced by def_gauge(), epilog(), and gen().

Here is the caller graph for this function:

◆ gen()

def dw_dslash_cuda_gen.gen (   dir,
  pack_only = False 
)

Definition at line 486 of file dw_dslash_cuda_gen.py.

References block(), g_im(), g_re(), h1_im(), h1_re(), h2_im(), h2_re(), in_im(), in_re(), indent(), out_im(), out_re(), projectorToStr(), and sign().

Here is the call graph for this function:

◆ gen_dw()

def dw_dslash_cuda_gen.gen_dw ( )

Definition at line 721 of file dw_dslash_cuda_gen.py.

References in_im(), in_re(), out_im(), out_re(), and sign().

Referenced by generate_dslash().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_clover()

def dw_dslash_cuda_gen.generate_clover ( )

Definition at line 1103 of file dw_dslash_cuda_gen.py.

References epilog(), and prolog().

Here is the call graph for this function:

◆ generate_dslash()

def dw_dslash_cuda_gen.generate_dslash ( )

Definition at line 1094 of file dw_dslash_cuda_gen.py.

References epilog(), gen_dw(), and prolog().

Here is the call graph for this function:

◆ generate_pack()

def dw_dslash_cuda_gen.generate_pack ( )

Definition at line 1067 of file dw_dslash_cuda_gen.py.

References block(), def_input_spinor(), in_im(), in_re(), and pack_face().

Here is the call graph for this function:

◆ gminus()

def dw_dslash_cuda_gen.gminus (   g1,
  g2 
)

Definition at line 87 of file dw_dslash_cuda_gen.py.

◆ gplus()

def dw_dslash_cuda_gen.gplus (   g1,
  g2 
)

Definition at line 84 of file dw_dslash_cuda_gen.py.

◆ h1_im()

def dw_dslash_cuda_gen.h1_im (   h,
  c 
)

Definition at line 134 of file dw_dslash_cuda_gen.py.

Referenced by gen().

Here is the caller graph for this function:

◆ h1_re()

def dw_dslash_cuda_gen.h1_re (   h,
  c 
)

Definition at line 133 of file dw_dslash_cuda_gen.py.

Referenced by gen().

Here is the caller graph for this function:

◆ h2_im()

def dw_dslash_cuda_gen.h2_im (   h,
  c 
)

Definition at line 136 of file dw_dslash_cuda_gen.py.

Referenced by gen().

Here is the caller graph for this function:

◆ h2_re()

def dw_dslash_cuda_gen.h2_re (   h,
  c 
)

Definition at line 135 of file dw_dslash_cuda_gen.py.

Referenced by gen().

Here is the caller graph for this function:

◆ in_im()

def dw_dslash_cuda_gen.in_im (   s,
  c 
)

Definition at line 128 of file dw_dslash_cuda_gen.py.

Referenced by def_input_spinor(), epilog(), gen(), gen_dw(), generate_pack(), input_spinor(), and prolog().

Here is the caller graph for this function:

◆ in_re()

def dw_dslash_cuda_gen.in_re (   s,
  c 
)

Definition at line 127 of file dw_dslash_cuda_gen.py.

Referenced by def_input_spinor(), epilog(), gen(), gen_dw(), generate_pack(), input_spinor(), and prolog().

Here is the caller graph for this function:

◆ indent()

def dw_dslash_cuda_gen.indent (   code,
  n = 1 
)

code generation ########################################################################

Definition at line 107 of file dw_dslash_cuda_gen.py.

Referenced by block(), gen(), pack_face(), and prolog().

Here is the caller graph for this function:

◆ input_spinor()

def dw_dslash_cuda_gen.input_spinor (   s,
  c,
  z 
)

Definition at line 799 of file dw_dslash_cuda_gen.py.

References in_im(), in_re(), out_im(), and out_re().

Referenced by to_chiral_basis().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nthFloat2()

def dw_dslash_cuda_gen.nthFloat2 (   n)

Definition at line 123 of file dw_dslash_cuda_gen.py.

Referenced by def_clover(), def_gauge(), def_input_spinor(), and xpay_lmem_pre().

Here is the caller graph for this function:

◆ nthFloat4()

def dw_dslash_cuda_gen.nthFloat4 (   n)

Definition at line 120 of file dw_dslash_cuda_gen.py.

Referenced by def_clover(), def_gauge(), def_input_spinor(), and xpay_lmem_pre().

Here is the caller graph for this function:

◆ out_im()

def dw_dslash_cuda_gen.out_im (   s,
  c 
)

Definition at line 132 of file dw_dslash_cuda_gen.py.

Referenced by clover_mult(), def_output_spinor(), epilog(), from_chiral_basis(), gen(), gen_dw(), input_spinor(), prolog(), to_chiral_basis(), xpay_lmem(), and xpay_lmem_pre().

Here is the caller graph for this function:

◆ out_re()

def dw_dslash_cuda_gen.out_re (   s,
  c 
)

Definition at line 131 of file dw_dslash_cuda_gen.py.

Referenced by clover_mult(), def_output_spinor(), epilog(), from_chiral_basis(), gen(), gen_dw(), input_spinor(), prolog(), to_chiral_basis(), xpay_lmem(), and xpay_lmem_pre().

Here is the caller graph for this function:

◆ pack_face()

def dw_dslash_cuda_gen.pack_face (   facenum)

Definition at line 1053 of file dw_dslash_cuda_gen.py.

References block(), and indent().

Referenced by generate_pack().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ projectorToStr()

def dw_dslash_cuda_gen.projectorToStr (   p)

Definition at line 90 of file dw_dslash_cuda_gen.py.

References complexToStr().

Referenced by gen().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ prolog()

def dw_dslash_cuda_gen.prolog ( )

Definition at line 277 of file dw_dslash_cuda_gen.py.

References def_clover(), def_gauge(), def_input_spinor(), def_output_spinor(), in_im(), in_re(), indent(), out_im(), and out_re().

Referenced by generate_clover(), and generate_dslash().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sign()

def dw_dslash_cuda_gen.sign (   x)

Definition at line 114 of file dw_dslash_cuda_gen.py.

Referenced by gen(), and gen_dw().

Here is the caller graph for this function:

◆ tmp_im()

def dw_dslash_cuda_gen.tmp_im (   s,
  c 
)

Definition at line 143 of file dw_dslash_cuda_gen.py.

◆ tmp_re()

def dw_dslash_cuda_gen.tmp_re (   s,
  c 
)

Definition at line 142 of file dw_dslash_cuda_gen.py.

◆ to_chiral_basis()

def dw_dslash_cuda_gen.to_chiral_basis (   c)

Definition at line 807 of file dw_dslash_cuda_gen.py.

References a_im(), a_re(), block(), input_spinor(), out_im(), and out_re().

Referenced by apply_clover().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xpay_lmem()

def dw_dslash_cuda_gen.xpay_lmem ( )

Definition at line 935 of file dw_dslash_cuda_gen.py.

References out_im(), and out_re().

Referenced by epilog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xpay_lmem_pre()

def dw_dslash_cuda_gen.xpay_lmem_pre ( )

Definition at line 898 of file dw_dslash_cuda_gen.py.

References nthFloat2(), nthFloat4(), out_im(), and out_re().

Referenced by epilog().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ clover

bool dw_dslash_cuda_gen.clover = False

Definition at line 1119 of file dw_dslash_cuda_gen.py.

◆ cloverSharedFloats

int dw_dslash_cuda_gen.cloverSharedFloats = 0

Definition at line 1110 of file dw_dslash_cuda_gen.py.

◆ dagger

bool dw_dslash_cuda_gen.dagger = False

Definition at line 1123 of file dw_dslash_cuda_gen.py.

◆ domain_wall

bool dw_dslash_cuda_gen.domain_wall = True

Definition at line 1117 of file dw_dslash_cuda_gen.py.

◆ dslash

bool dw_dslash_cuda_gen.dslash = True

Definition at line 1122 of file dw_dslash_cuda_gen.py.

◆ f

dw_dslash_cuda_gen.f = open('dslash_core/dw_dslash_core.h', 'w')

Definition at line 1124 of file dw_dslash_cuda_gen.py.

◆ gamma1

def dw_dslash_cuda_gen.gamma1
Initial value:
1 = complexify([
2  0, 0, 0, 1j,
3  0, 0, 1j, 0,
4  0, -1j, 0, 0,
5  -1j, 0, 0, 0
6 ])
def complexify(a)
complex numbers ######################################################################## ...

Definition at line 39 of file dw_dslash_cuda_gen.py.

◆ gamma2

def dw_dslash_cuda_gen.gamma2
Initial value:
1 = complexify([
2  0, 0, 0, 1,
3  0, 0, -1, 0,
4  0, -1, 0, 0,
5  1, 0, 0, 0
6 ])
def complexify(a)
complex numbers ######################################################################## ...

Definition at line 46 of file dw_dslash_cuda_gen.py.

◆ gamma3

def dw_dslash_cuda_gen.gamma3
Initial value:
1 = complexify([
2  0, 0, 1j, 0,
3  0, 0, 0, -1j,
4  -1j, 0, 0, 0,
5  0, 1j, 0, 0
6 ])
def complexify(a)
complex numbers ######################################################################## ...

Definition at line 53 of file dw_dslash_cuda_gen.py.

◆ gamma4

def dw_dslash_cuda_gen.gamma4
Initial value:
1 = complexify([
2  1, 0, 0, 0,
3  0, 1, 0, 0,
4  0, 0, -1, 0,
5  0, 0, 0, -1
6 ])
def complexify(a)
complex numbers ######################################################################## ...

Definition at line 60 of file dw_dslash_cuda_gen.py.

◆ id

def dw_dslash_cuda_gen.id
Initial value:
1 = complexify([
2  1, 0, 0, 0,
3  0, 1, 0, 0,
4  0, 0, 1, 0,
5  0, 0, 0, 1
6 ])
def complexify(a)
complex numbers ######################################################################## ...

projector matrices ########################################################################

Definition at line 32 of file dw_dslash_cuda_gen.py.

◆ igamma5

def dw_dslash_cuda_gen.igamma5
Initial value:
1 = complexify([
2  0, 0, 1j, 0,
3  0, 0, 0, 1j,
4  1j, 0, 0, 0,
5  0, 1j, 0, 0
6 ])
def complexify(a)
complex numbers ######################################################################## ...

Definition at line 67 of file dw_dslash_cuda_gen.py.

◆ projectors

list dw_dslash_cuda_gen.projectors
Initial value:
1 = [
2  gminus(id,gamma1), gplus(id,gamma1),
3  gminus(id,gamma2), gplus(id,gamma2),
4  gminus(id,gamma3), gplus(id,gamma3),
5  gminus(id,gamma4), gplus(id,gamma4),
6 ]

Definition at line 98 of file dw_dslash_cuda_gen.py.

◆ sharedFloats

dw_dslash_cuda_gen.sharedFloats = 0

Definition at line 1109 of file dw_dslash_cuda_gen.py.

◆ twist

bool dw_dslash_cuda_gen.twist = False

Definition at line 1118 of file dw_dslash_cuda_gen.py.

◆ two_P_L

list dw_dslash_cuda_gen.two_P_L = [ id[x] - igamma5[x]/1j for x in range(0,4*4) ]

Definition at line 74 of file dw_dslash_cuda_gen.py.

◆ two_P_R

list dw_dslash_cuda_gen.two_P_R = [ id[x] + igamma5[x]/1j for x in range(0,4*4) ]

Definition at line 75 of file dw_dslash_cuda_gen.py.