Functions | |
| void | ByClover (Complex *phi, Complex *r, Complex *clover[2], Complex *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d. | |
| void | ByClover_f (Complex_f *phi, Complex_f *r, Complex_f *clover[2], Complex_f *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d. | |
| void | HbyClover (Complex *phi, Complex *r, Complex *clover[2], Complex *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d. | |
| void | HbyClover_f (Complex_f *phi, Complex_f *r, Complex_f *clover[2], Complex_f *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d. | |
| void | cuByClover (Complex *phi, Complex *r, Complex *clover[nc], Complex *sigval, const float akappa, unsigned short *sigin, bool dag) |
| CUDA wrapper for ByClover. | |
| void | cuHbyClover (Complex *phi, Complex *r, Complex *clover[nc], Complex *sigval, const float akappa, unsigned short *sigin, bool dag) |
| CUDA wrapper for HbyClover. | |
| void | cuByClover_f (Complex_f *phi, Complex_f *r, Complex_f *clover[nc], Complex_f *sigval, const float akappa, unsigned short *sigin, bool dag) |
| CUDA wrapper for ByClover_f. | |
| void | cuHbyClover_f (Complex_f *phi, Complex_f *r, Complex_f *clover[nc], Complex_f *sigval, const float akappa, unsigned short *sigin, bool dag) |
| CUDA wrapper for HbyClover_f. | |
| template<typename T> | |
| __global__ void | Kernels::ByClover (complex< T > *phi, complex< T > *r, complex< T > *clover1, complex< T > *clover2, complex< T > *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d. | |
| template<typename T> | |
| __global__ void | Kernels::HbyClover (complex< T > *phi, complex< T > *r, complex< T > *clover1, complex< T > *clover2, complex< T > *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Hdslash operation. The H in front is for half, as we only act on the fermions of flavour 1. | |
| void ByClover | ( | Complex * | phi, |
| Complex * | r, | ||
| Complex * | clover[2], | ||
| Complex * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d.
| [in,out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered output has no MPI halo, but undaggered does. |
phi Definition at line 243 of file clover.c.
References Complex, conj(), creal, cuByClover(), kvol, kvolHalo, nc, ndirac, and ngorkov.
| __global__ void Kernels::ByClover | ( | complex< T > * | phi, |
| complex< T > * | r, | ||
| complex< T > * | clover1, | ||
| complex< T > * | clover2, | ||
| complex< T > * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d.
| [out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover1,clover2 | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered output has no MPI halo, but undaggered does. |
phi Note that \(\sigma_{\mu\nu}\) was scaled by \(\frac{c_\text{SW}}{2}\) when we defined it.
Also \(\sigma_{\mu\nu}F_{\mu\nu}=\sigma_{\nu\mu}F_{\nu\mu}\) so we double it to take account of that But then we multiply by \(-\frac{1}{2}\) so the \(2\) disappears
Definition at line 581 of file cuclover.cu.
References conj(), creal, kvol, kvolHalo, nc, ndirac, and ngorkov.
| void ByClover_f | ( | Complex_f * | phi, |
| Complex_f * | r, | ||
| Complex_f * | clover[2], | ||
| Complex_f * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d.
| [in,out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered output has no MPI halo, but undaggered does. |
phi Definition at line 336 of file clover.c.
References Complex_f, conj(), cuByClover_f(), kvol, kvolHalo, nc, ndirac, and ngorkov.
| void cuByClover | ( | Complex * | phi, |
| Complex * | r, | ||
| Complex * | clover[nc], | ||
| Complex * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
CUDA wrapper for ByClover.
| [in,out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered has no MPI halo, but undaggered does. |
phi Definition at line 716 of file cuclover.cu.
References Kernels::ByClover(), Complex, and nc.
| void cuByClover_f | ( | Complex_f * | phi, |
| Complex_f * | r, | ||
| Complex_f * | clover[nc], | ||
| Complex_f * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
CUDA wrapper for ByClover_f.
| [in,out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered has no MPI halo, but undaggered does. |
phi Definition at line 722 of file cuclover.cu.
References Kernels::ByClover(), Complex_f, and nc.
| void cuHbyClover | ( | Complex * | phi, |
| Complex * | r, | ||
| Complex * | clover[nc], | ||
| Complex * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
CUDA wrapper for HbyClover.
| [in,out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered has no MPI halo, but undaggered does. |
phi Definition at line 719 of file cuclover.cu.
References Complex, Kernels::HbyClover(), and nc.
| void cuHbyClover_f | ( | Complex_f * | phi, |
| Complex_f * | r, | ||
| Complex_f * | clover[nc], | ||
| Complex_f * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
CUDA wrapper for HbyClover_f.
| [in,out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered has no MPI halo, but undaggered does. |
phi Definition at line 725 of file cuclover.cu.
References Complex_f, Kernels::HbyClover(), and nc.
| void HbyClover | ( | Complex * | phi, |
| Complex * | r, | ||
| Complex * | clover[2], | ||
| Complex * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d.
| [in,out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered output has no MPI halo, but undaggered does. |
phi Definition at line 289 of file clover.c.
References Complex, conj(), creal, cuHbyClover(), kvol, kvolHalo, nc, and ndirac.
| __global__ void Kernels::HbyClover | ( | complex< T > * | phi, |
| complex< T > * | r, | ||
| complex< T > * | clover1, | ||
| complex< T > * | clover2, | ||
| complex< T > * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
Clover analogue of the Hdslash operation. The H in front is for half, as we only act on the fermions of flavour 1.
| [out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover1,clover2 | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered has no MPI halo, but undaggered does. |
phi. Note that \(\sigma_{\mu\nu}\) was scaled by \(\frac{c_\text{SW}}{2}\) when we defined it.
\(\sigma_{\mu\nu}F_{\mu\nu}=\sigma_{\nu\mu}F_{\nu\mu}\) so we double it to take account of that But then we multiply by \(-\frac{1}{2}\) so the \(2\) disappears
Definition at line 644 of file cuclover.cu.
References conj(), creal, kvol, kvolHalo, nc, and ndirac.
| void HbyClover_f | ( | Complex_f * | phi, |
| Complex_f * | r, | ||
| Complex_f * | clover[2], | ||
| Complex_f * | sigval, | ||
| const float | akappa, | ||
| unsigned short * | sigin, | ||
| bool | dag ) |
Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d.
| [in,out] | phi | Final pseudofermion field. This is almost always multiplied by Dslash before calling this function |
| [in] | r | Pseudofermion field before multiplication. The thing we want to multiply by the clover |
| [in] | clover | Array of clovers |
| [in] | sigval | \( \sigma_{\mu\nu}\) entries scaled by \( c_{sw}\) |
| [in] | akappa | Hopping Parameter |
| [in] | sigin | What element of the spinor is multiplied by row idirac each sigma matrix? |
| [in] | dag | Daggered output has no MPI halo, but undaggered does. |
phi Definition at line 382 of file clover.c.
References Complex_f, conj(), cuHbyClover_f(), kvol, kvolHalo, nc, and ndirac.