QUDA  v0.7.0
A library for QCD on GPUs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions | Variables
domain_wall_dslash_reference.cpp File Reference
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <quda.h>
#include <test_util.h>
#include <dslash_util.h>
#include <domain_wall_dslash_reference.h>
#include <blas_reference.h>
#include <gauge_field.h>
#include <color_spinor_field.h>
#include <face_quda.h>

Go to the source code of this file.

Functions

int neighborIndex_5d (int i, int oddBit, int dxs, int dx4, int dx3, int dx2, int dx1)
 
int neighborIndex_5d_4dpc (int i, int oddBit, int dxs, int dx4, int dx3, int dx2, int dx1)
 
int neighborIndex_4d (int i, int oddBit, int dx4, int dx3, int dx2, int dx1)
 
int neighborIndex_5d_mgpu (int i, int oddBit, int dxs, int dx4, int dx3, int dx2, int dx1)
 
int neighborIndex_5d_4dpc_mgpu (int i, int oddBit, int dxs, int dx4, int dx3, int dx2, int dx1)
 
int x4_5d_mgpu (int i, int oddBit)
 
int x4_5d_4dpc_mgpu (int i, int oddBit)
 
template<typename Float >
Float * gaugeLink_sgpu (int i, int dir, int oddBit, Float **gaugeEven, Float **gaugeOdd)
 
template<typename Float >
Float * gaugeLink_mgpu (int i, int dir, int oddBit, Float **gaugeEven, Float **gaugeOdd, Float **ghostGaugeEven, Float **ghostGaugeOdd, int n_ghost_faces, int nbr_distance)
 
template<typename Float >
Float * spinorNeighbor_5d_mgpu (int i, int dir, int oddBit, Float *spinorField, Float **fwd_nbr_spinor, Float **back_nbr_spinor, int neighbor_distance, int nFace)
 
template<typename Float >
Float * spinorNeighbor_5d_4dpc_mgpu (int i, int dir, int oddBit, Float *spinorField, Float **fwd_nbr_spinor, Float **back_nbr_spinor, int neighbor_distance, int nFace)
 
template<typename Float >
Float * spinorNeighbor_5d (int i, int dir, int oddBit, Float *spinorField)
 
template<typename Float >
Float * spinorNeighbor_5d_4dpc (int i, int dir, int oddBit, Float *spinorField)
 
template<typename Float >
void multiplySpinorByDiracProjector5 (Float *res, int projIdx, Float *spinorIn)
 
template<typename sFloat , typename gFloat >
void dslashReference_4d_sgpu (sFloat *res, gFloat **gaugeFull, sFloat *spinorField, int oddBit, int daggerBit)
 
template<typename sFloat , typename gFloat >
void dslashReference_4d_4dpc_sgpu (sFloat *res, gFloat **gaugeFull, sFloat *spinorField, int oddBit, int daggerBit)
 
template<typename sFloat , typename gFloat >
void dslashReference_4d_mgpu (sFloat *res, gFloat **gaugeFull, gFloat **ghostGauge, sFloat *spinorField, sFloat **fwdSpinor, sFloat **backSpinor, int oddBit, int daggerBit)
 
template<typename sFloat , typename gFloat >
void dslashReference_4d_4dpc_mgpu (sFloat *res, gFloat **gaugeFull, gFloat **ghostGauge, sFloat *spinorField, sFloat **fwdSpinor, sFloat **backSpinor, int oddBit, int daggerBit)
 
template<typename sFloat >
void dslashReference_5th (sFloat *res, sFloat *spinorField, int oddBit, int daggerBit, sFloat mferm)
 
template<typename sFloat >
void dslashReference_5th_4d (sFloat *res, sFloat *spinorField, int oddBit, int daggerBit, sFloat mferm)
 
template<typename sFloat >
void dslashReference_5th_inv (sFloat *res, sFloat *spinorField, int oddBit, int daggerBit, sFloat mferm, double *kappa)
 
void dw_dslash (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm)
 
void dslash_4_4d (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm)
 
void dw_dslash_5_4d (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm)
 
void dslash_5_inv (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double *kappa)
 
void mdw_dslash_5 (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double *kappa)
 
void mdw_dslash_4_pre (void *out, void **gauge, void *in, int oddBit, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double *b5, double *c5)
 
void dw_mat (void *out, void **gauge, void *in, double kappa, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm)
 
void dw_matdagmat (void *out, void **gauge, void *in, double kappa, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm)
 
void dw_matpc (void *out, void **gauge, void *in, double kappa, QudaMatPCType matpc_type, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm)
 
void dw_4d_matpc (void *out, void **gauge, void *in, double kappa, QudaMatPCType matpc_type, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm)
 
void mdw_matpc (void *out, void **gauge, void *in, double *kappa_b, double *kappa_c, QudaMatPCType matpc_type, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param, double mferm, double *b5, double *c5)
 
void matpc (void *outEven, void **gauge, void *inEven, double kappa, QudaMatPCType matpc_type, int dagger_bit, QudaPrecision sPrecision, QudaPrecision gPrecision, double mferm)
 
void matdagmat (void *out, void **gauge, void *in, double kappa, QudaPrecision sPrecision, QudaPrecision gPrecision, double mferm)
 
void matpcdagmatpc (void *out, void **gauge, void *in, double kappa, QudaPrecision sPrecision, QudaPrecision gPrecision, double mferm, QudaMatPCType matpc_type)
 

Variables

const double projector [10][4][4][2]
 

Function Documentation

void dslash_4_4d ( void *  out,
void **  gauge,
void *  in,
int  oddBit,
int  daggerBit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm 
)

Definition at line 1149 of file domain_wall_dslash_reference.cpp.

void dslash_5_inv ( void *  out,
void **  gauge,
void *  in,
int  oddBit,
int  daggerBit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm,
double *  kappa 
)

Definition at line 1235 of file domain_wall_dslash_reference.cpp.

template<typename sFloat , typename gFloat >
void dslashReference_4d_4dpc_mgpu ( sFloat *  res,
gFloat **  gaugeFull,
gFloat **  ghostGauge,
sFloat *  spinorField,
sFloat **  fwdSpinor,
sFloat **  backSpinor,
int  oddBit,
int  daggerBit 
)

Definition at line 834 of file domain_wall_dslash_reference.cpp.

template<typename sFloat , typename gFloat >
void dslashReference_4d_4dpc_sgpu ( sFloat *  res,
gFloat **  gaugeFull,
sFloat *  spinorField,
int  oddBit,
int  daggerBit 
)

Definition at line 726 of file domain_wall_dslash_reference.cpp.

template<typename sFloat , typename gFloat >
void dslashReference_4d_mgpu ( sFloat *  res,
gFloat **  gaugeFull,
gFloat **  ghostGauge,
sFloat *  spinorField,
sFloat **  fwdSpinor,
sFloat **  backSpinor,
int  oddBit,
int  daggerBit 
)

Definition at line 785 of file domain_wall_dslash_reference.cpp.

template<typename sFloat , typename gFloat >
void dslashReference_4d_sgpu ( sFloat *  res,
gFloat **  gaugeFull,
sFloat *  spinorField,
int  oddBit,
int  daggerBit 
)

Definition at line 668 of file domain_wall_dslash_reference.cpp.

template<typename sFloat >
void dslashReference_5th ( sFloat *  res,
sFloat *  spinorField,
int  oddBit,
int  daggerBit,
sFloat  mferm 
)

Definition at line 886 of file domain_wall_dslash_reference.cpp.

template<typename sFloat >
void dslashReference_5th_4d ( sFloat *  res,
sFloat *  spinorField,
int  oddBit,
int  daggerBit,
sFloat  mferm 
)

Definition at line 911 of file domain_wall_dslash_reference.cpp.

template<typename sFloat >
void dslashReference_5th_inv ( sFloat *  res,
sFloat *  spinorField,
int  oddBit,
int  daggerBit,
sFloat  mferm,
double *  kappa 
)

Definition at line 938 of file domain_wall_dslash_reference.cpp.

void dw_4d_matpc ( void *  out,
void **  gauge,
void *  in,
double  kappa,
QudaMatPCType  matpc_type,
int  dagger_bit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm 
)

Definition at line 1357 of file domain_wall_dslash_reference.cpp.

void dw_dslash ( void *  out,
void **  gauge,
void *  in,
int  oddBit,
int  daggerBit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm 
)

Definition at line 1068 of file domain_wall_dslash_reference.cpp.

void dw_dslash_5_4d ( void *  out,
void **  gauge,
void *  in,
int  oddBit,
int  daggerBit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm 
)

Definition at line 1226 of file domain_wall_dslash_reference.cpp.

void dw_mat ( void *  out,
void **  gauge,
void *  in,
double  kappa,
int  dagger_bit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm 
)

Definition at line 1279 of file domain_wall_dslash_reference.cpp.

void dw_matdagmat ( void *  out,
void **  gauge,
void *  in,
double  kappa,
int  dagger_bit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm 
)

Definition at line 1325 of file domain_wall_dslash_reference.cpp.

void dw_matpc ( void *  out,
void **  gauge,
void *  in,
double  kappa,
QudaMatPCType  matpc_type,
int  dagger_bit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm 
)

Definition at line 1336 of file domain_wall_dslash_reference.cpp.

template<typename Float >
Float* gaugeLink_mgpu ( int  i,
int  dir,
int  oddBit,
Float **  gaugeEven,
Float **  gaugeOdd,
Float **  ghostGaugeEven,
Float **  ghostGaugeOdd,
int  n_ghost_faces,
int  nbr_distance 
)

Definition at line 225 of file domain_wall_dslash_reference.cpp.

template<typename Float >
Float* gaugeLink_sgpu ( int  i,
int  dir,
int  oddBit,
Float **  gaugeEven,
Float **  gaugeOdd 
)

Definition at line 194 of file domain_wall_dslash_reference.cpp.

void matdagmat ( void *  out,
void **  gauge,
void *  in,
double  kappa,
QudaPrecision  sPrecision,
QudaPrecision  gPrecision,
double  mferm 
)

Definition at line 1578 of file domain_wall_dslash_reference.cpp.

void matpc ( void *  outEven,
void **  gauge,
void *  inEven,
double  kappa,
QudaMatPCType  matpc_type,
int  dagger_bit,
QudaPrecision  sPrecision,
QudaPrecision  gPrecision,
double  mferm 
)

Definition at line 1522 of file domain_wall_dslash_reference.cpp.

void matpcdagmatpc ( void *  out,
void **  gauge,
void *  in,
double  kappa,
QudaPrecision  sPrecision,
QudaPrecision  gPrecision,
double  mferm,
QudaMatPCType  matpc_type 
)

Definition at line 1599 of file domain_wall_dslash_reference.cpp.

void mdw_dslash_4_pre ( void *  out,
void **  gauge,
void *  in,
int  oddBit,
int  daggerBit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm,
double *  b5,
double *  c5 
)

Definition at line 1261 of file domain_wall_dslash_reference.cpp.

void mdw_dslash_5 ( void *  out,
void **  gauge,
void *  in,
int  oddBit,
int  daggerBit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm,
double *  kappa 
)

Definition at line 1244 of file domain_wall_dslash_reference.cpp.

void mdw_matpc ( void *  out,
void **  gauge,
void *  in,
double *  kappa_b,
double *  kappa_c,
QudaMatPCType  matpc_type,
int  dagger_bit,
QudaPrecision  precision,
QudaGaugeParam gauge_param,
double  mferm,
double *  b5,
double *  c5 
)

Definition at line 1393 of file domain_wall_dslash_reference.cpp.

template<typename Float >
void multiplySpinorByDiracProjector5 ( Float *  res,
int  projIdx,
Float *  spinorIn 
)

Definition at line 634 of file domain_wall_dslash_reference.cpp.

int neighborIndex_4d ( int  i,
int  oddBit,
int  dx4,
int  dx3,
int  dx2,
int  dx1 
)

Definition at line 88 of file domain_wall_dslash_reference.cpp.

int neighborIndex_5d ( int  i,
int  oddBit,
int  dxs,
int  dx4,
int  dx3,
int  dx2,
int  dx1 
)

Definition at line 29 of file domain_wall_dslash_reference.cpp.

int neighborIndex_5d_4dpc ( int  i,
int  oddBit,
int  dxs,
int  dx4,
int  dx3,
int  dx2,
int  dx1 
)

Definition at line 54 of file domain_wall_dslash_reference.cpp.

int neighborIndex_5d_4dpc_mgpu ( int  i,
int  oddBit,
int  dxs,
int  dx4,
int  dx3,
int  dx2,
int  dx1 
)

Definition at line 141 of file domain_wall_dslash_reference.cpp.

int neighborIndex_5d_mgpu ( int  i,
int  oddBit,
int  dxs,
int  dx4,
int  dx3,
int  dx2,
int  dx1 
)

Definition at line 112 of file domain_wall_dslash_reference.cpp.

template<typename Float >
Float* spinorNeighbor_5d ( int  i,
int  dir,
int  oddBit,
Float *  spinorField 
)

Definition at line 523 of file domain_wall_dslash_reference.cpp.

template<typename Float >
Float* spinorNeighbor_5d_4dpc ( int  i,
int  dir,
int  oddBit,
Float *  spinorField 
)

Definition at line 543 of file domain_wall_dslash_reference.cpp.

template<typename Float >
Float* spinorNeighbor_5d_4dpc_mgpu ( int  i,
int  dir,
int  oddBit,
Float *  spinorField,
Float **  fwd_nbr_spinor,
Float **  back_nbr_spinor,
int  neighbor_distance,
int  nFace 
)

Definition at line 412 of file domain_wall_dslash_reference.cpp.

template<typename Float >
Float* spinorNeighbor_5d_mgpu ( int  i,
int  dir,
int  oddBit,
Float *  spinorField,
Float **  fwd_nbr_spinor,
Float **  back_nbr_spinor,
int  neighbor_distance,
int  nFace 
)

Definition at line 304 of file domain_wall_dslash_reference.cpp.

int x4_5d_4dpc_mgpu ( int  i,
int  oddBit 
)

Definition at line 178 of file domain_wall_dslash_reference.cpp.

int x4_5d_mgpu ( int  i,
int  oddBit 
)

Definition at line 171 of file domain_wall_dslash_reference.cpp.

Variable Documentation

const double projector[10][4][4][2]

Definition at line 566 of file domain_wall_dslash_reference.cpp.