QUDA  v0.5.0
A library for QCD on GPUs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Functions
pack_gauge.h File Reference
#include <math.h>

Go to the source code of this file.

Macros

#define SHORT_LENGTH   65536
 
#define SCALE_FLOAT   ((SHORT_LENGTH-1) / 2.f)
 
#define SHIFT_FLOAT   (-1.f / (SHORT_LENGTH-1))
 

Functions

template<typename Float >
short FloatToShort (const Float &a)
 
template<typename Float >
void ShortToFloat (Float &a, const short &b)
 
template<typename Float >
void pack8 (double2 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack8 (float4 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack8 (float2 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack8 (short4 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack8 (short2 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack12 (double2 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack12 (float4 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack12 (float2 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack12 (short4 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack12 (short2 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack18 (double2 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack18 (float4 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack18 (float2 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack18 (short4 *res, Float *g, int dir, int V)
 
template<typename Float >
void pack18 (short2 *res, Float *g, int dir, int V)
 
template<typename Float >
void fatlink_short_pack18 (short2 *d_gauge, Float *h_gauge, int dir, int V)
 
template<typename Float >
void accumulateComplexProduct (Float *a, Float *b, Float *c, Float sign)
 
template<typename Float >
void complexDotProduct (Float *a, Float *b, Float *c)
 
template<typename Float >
void accumulateConjugateProduct (Float *a, Float *b, Float *c, int sign)
 
template<typename Float >
void complexConjugateProduct (Float *a, Float *b, Float *c)
 
template<typename Float >
void reconstruct8 (Float *mat, int dir, int idx)
 
template<typename Float >
void unpack8 (Float *h_gauge, double2 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void unpack8 (Float *h_gauge, float4 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void unpack8 (Float *h_gauge, float2 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void unpack8 (Float *h_gauge, short4 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void unpack8 (Float *h_gauge, short2 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void reconstruct12 (Float *mat, int dir, int idx)
 
template<typename Float >
void unpack12 (Float *h_gauge, double2 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void unpack12 (Float *h_gauge, float4 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void unpack12 (Float *h_gauge, float2 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void unpack12 (Float *h_gauge, short4 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void unpack12 (Float *h_gauge, short2 *d_gauge, int dir, int V, int idx)
 
template<typename Float >
void unpack18 (Float *h_gauge, double2 *d_gauge, int dir, int V)
 
template<typename Float >
void unpack18 (Float *h_gauge, float4 *d_gauge, int dir, int V)
 
template<typename Float >
void unpack18 (Float *h_gauge, float2 *d_gauge, int dir, int V)
 
template<typename Float >
void unpack18 (Float *h_gauge, short4 *d_gauge, int dir, int V)
 
template<typename Float >
void unpack18 (Float *h_gauge, short2 *d_gauge, int dir, int V)
 
template<typename Float , typename FloatN >
void packMILCGaugeField (FloatN *res, Float *gauge, int oddBit, QudaReconstructType reconstruct, int Vh, int pad)
 
template<typename Float , typename FloatN >
void packBQCDGaugeField (FloatN *res, Float *gauge, int oddBit, QudaReconstructType reconstruct, int Vh, int pad)
 
template<typename Float , typename Float2 >
void pack10 (Float2 *res, Float *m, int dir, int Vh, int pad)
 
template<typename Float , typename Float2 >
void packMomField (Float2 *res, Float *mom, int oddBit, int Vh, int pad)
 
template<typename Float , typename Float2 >
void unpack10 (Float *m, Float2 *res, int dir, int Vh, int pad)
 
template<typename Float , typename Float2 >
void unpackMomField (Float *mom, Float2 *res, int oddBit, int Vh, int pad)
 

Macro Definition Documentation

#define SCALE_FLOAT   ((SHORT_LENGTH-1) / 2.f)

Definition at line 6 of file pack_gauge.h.

#define SHIFT_FLOAT   (-1.f / (SHORT_LENGTH-1))

Definition at line 7 of file pack_gauge.h.

#define SHORT_LENGTH   65536

Definition at line 5 of file pack_gauge.h.

Function Documentation

template<typename Float >
void accumulateComplexProduct ( Float a,
Float b,
Float c,
Float  sign 
)
inline

Definition at line 206 of file pack_gauge.h.

template<typename Float >
void accumulateConjugateProduct ( Float a,
Float b,
Float c,
int  sign 
)
inline

Definition at line 220 of file pack_gauge.h.

template<typename Float >
void complexConjugateProduct ( Float a,
Float b,
Float c 
)
inline

Definition at line 227 of file pack_gauge.h.

template<typename Float >
void complexDotProduct ( Float a,
Float b,
Float c 
)
inline

Definition at line 213 of file pack_gauge.h.

template<typename Float >
void fatlink_short_pack18 ( short2 *  d_gauge,
Float h_gauge,
int  dir,
int  V 
)
inline

Definition at line 193 of file pack_gauge.h.

template<typename Float >
short FloatToShort ( const Float a)
inline

Definition at line 10 of file pack_gauge.h.

template<typename Float , typename Float2 >
void pack10 ( Float2 *  res,
Float m,
int  dir,
int  Vh,
int  pad 
)
inline

Definition at line 769 of file pack_gauge.h.

template<typename Float >
void pack12 ( double2 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 86 of file pack_gauge.h.

template<typename Float >
void pack12 ( float4 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 95 of file pack_gauge.h.

template<typename Float >
void pack12 ( float2 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 106 of file pack_gauge.h.

template<typename Float >
void pack12 ( short4 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 115 of file pack_gauge.h.

template<typename Float >
void pack12 ( short2 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 126 of file pack_gauge.h.

template<typename Float >
void pack18 ( double2 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 135 of file pack_gauge.h.

template<typename Float >
void pack18 ( float4 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 144 of file pack_gauge.h.

template<typename Float >
void pack18 ( float2 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 159 of file pack_gauge.h.

template<typename Float >
void pack18 ( short4 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 168 of file pack_gauge.h.

template<typename Float >
void pack18 ( short2 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 183 of file pack_gauge.h.

template<typename Float >
void pack8 ( double2 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 27 of file pack_gauge.h.

template<typename Float >
void pack8 ( float4 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 38 of file pack_gauge.h.

template<typename Float >
void pack8 ( float2 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 51 of file pack_gauge.h.

template<typename Float >
void pack8 ( short4 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 62 of file pack_gauge.h.

template<typename Float >
void pack8 ( short2 *  res,
Float g,
int  dir,
int  V 
)
inline

Definition at line 75 of file pack_gauge.h.

template<typename Float , typename FloatN >
void packBQCDGaugeField ( FloatN res,
Float gauge,
int  oddBit,
QudaReconstructType  reconstruct,
int  Vh,
int  pad 
)

Definition at line 684 of file pack_gauge.h.

template<typename Float , typename FloatN >
void packMILCGaugeField ( FloatN res,
Float gauge,
int  oddBit,
QudaReconstructType  reconstruct,
int  Vh,
int  pad 
)

Definition at line 623 of file pack_gauge.h.

template<typename Float , typename Float2 >
void packMomField ( Float2 *  res,
Float mom,
int  oddBit,
int  Vh,
int  pad 
)

Definition at line 780 of file pack_gauge.h.

template<typename Float >
void reconstruct12 ( Float mat,
int  dir,
int  idx 
)
inline

Definition at line 358 of file pack_gauge.h.

template<typename Float >
void reconstruct8 ( Float mat,
int  dir,
int  idx 
)
inline

Definition at line 235 of file pack_gauge.h.

template<typename Float >
void ShortToFloat ( Float a,
const short &  b 
)
inline

Definition at line 15 of file pack_gauge.h.

template<typename Float , typename Float2 >
void unpack10 ( Float m,
Float2 *  res,
int  dir,
int  Vh,
int  pad 
)
inline

Definition at line 791 of file pack_gauge.h.

template<typename Float >
void unpack12 ( Float h_gauge,
double2 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 375 of file pack_gauge.h.

template<typename Float >
void unpack12 ( Float h_gauge,
float4 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 385 of file pack_gauge.h.

template<typename Float >
void unpack12 ( Float h_gauge,
float2 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 397 of file pack_gauge.h.

template<typename Float >
void unpack12 ( Float h_gauge,
short4 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 407 of file pack_gauge.h.

template<typename Float >
void unpack12 ( Float h_gauge,
short2 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 419 of file pack_gauge.h.

template<typename Float >
void unpack18 ( Float h_gauge,
double2 *  d_gauge,
int  dir,
int  V 
)
inline

Definition at line 429 of file pack_gauge.h.

template<typename Float >
void unpack18 ( Float h_gauge,
float4 *  d_gauge,
int  dir,
int  V 
)
inline

Definition at line 438 of file pack_gauge.h.

template<typename Float >
void unpack18 ( Float h_gauge,
float2 *  d_gauge,
int  dir,
int  V 
)
inline

Definition at line 451 of file pack_gauge.h.

template<typename Float >
void unpack18 ( Float h_gauge,
short4 *  d_gauge,
int  dir,
int  V 
)
inline

Definition at line 460 of file pack_gauge.h.

template<typename Float >
void unpack18 ( Float h_gauge,
short2 *  d_gauge,
int  dir,
int  V 
)
inline

Definition at line 474 of file pack_gauge.h.

template<typename Float >
void unpack8 ( Float h_gauge,
double2 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 295 of file pack_gauge.h.

template<typename Float >
void unpack8 ( Float h_gauge,
float4 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 305 of file pack_gauge.h.

template<typename Float >
void unpack8 ( Float h_gauge,
float2 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 319 of file pack_gauge.h.

template<typename Float >
void unpack8 ( Float h_gauge,
short4 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 329 of file pack_gauge.h.

template<typename Float >
void unpack8 ( Float h_gauge,
short2 *  d_gauge,
int  dir,
int  V,
int  idx 
)
inline

Definition at line 345 of file pack_gauge.h.

template<typename Float , typename Float2 >
void unpackMomField ( Float mom,
Float2 *  res,
int  oddBit,
int  Vh,
int  pad 
)

Definition at line 802 of file pack_gauge.h.