QUDA  0.9.0
Classes | Namespaces | Macros | Functions | Variables
blas_quda.cu File Reference
#include <stdlib.h>
#include <stdio.h>
#include <cstring>
#include <tune_quda.h>
#include <typeinfo>
#include <quda_internal.h>
#include <float_vector.h>
#include <blas_quda.h>
#include <color_spinor_field.h>
#include <color_spinor_field_order.h>
#include <texture.h>
#include <blas_core.cuh>
#include <blas_core.h>
#include <blas_mixed_core.h>
Include dependency graph for blas_quda.cu:

Go to the source code of this file.

Classes

struct  quda::blas::BlasFunctor< Float2, FloatN >
 
struct  quda::blas::axpby_< Float2, FloatN >
 
struct  quda::blas::xpy_< Float2, FloatN >
 
struct  quda::blas::axpy_< Float2, FloatN >
 
struct  quda::blas::xpayz_< Float2, FloatN >
 
struct  quda::blas::mxpy_< Float2, FloatN >
 
struct  quda::blas::ax_< Float2, FloatN >
 
struct  quda::blas::caxpy_< Float2, FloatN >
 
struct  quda::blas::caxpby_< Float2, FloatN >
 
struct  quda::blas::cxpaypbz_< Float2, FloatN >
 
struct  quda::blas::axpyBzpcx_< Float2, FloatN >
 
struct  quda::blas::axpyZpbx_< Float2, FloatN >
 
struct  quda::blas::caxpyBzpx_< Float2, FloatN >
 
struct  quda::blas::caxpyBxpz_< Float2, FloatN >
 
struct  quda::blas::caxpbypzYmbw_< Float2, FloatN >
 
struct  quda::blas::cabxpyAx_< Float2, FloatN >
 
struct  quda::blas::caxpbypz_< Float2, FloatN >
 
struct  quda::blas::caxpbypczpw_< Float2, FloatN >
 
struct  quda::blas::caxpyxmaz_< Float2, FloatN >
 
struct  quda::blas::caxpyxmazMR_< Float2, FloatN >
 
struct  quda::blas::tripleCGUpdate_< Float2, FloatN >
 

Namespaces

 quda
 
 quda::blas
 

Macros

#define checkSpinor(a, b)
 
#define checkLength(a, b)
 
#define BLAS_SPINOR
 

Functions

void quda::blas::zero (ColorSpinorField &a)
 
void quda::blas::initReduce ()
 
void quda::blas::endReduce ()
 
void quda::blas::init ()
 
void quda::blas::end (void)
 
cudaStream_t * quda::blas::getStream ()
 
void quda::blas::axpby (const double &a, ColorSpinorField &x, const double &b, ColorSpinorField &y)
 
void quda::blas::xpy (ColorSpinorField &x, ColorSpinorField &y)
 
void quda::blas::axpy (const double &a, ColorSpinorField &x, ColorSpinorField &y)
 
void quda::blas::xpay (ColorSpinorField &x, const double &a, ColorSpinorField &y)
 
void quda::blas::xpayz (ColorSpinorField &x, const double &a, ColorSpinorField &y, ColorSpinorField &z)
 
void quda::blas::mxpy (ColorSpinorField &x, ColorSpinorField &y)
 
void quda::blas::ax (const double &a, ColorSpinorField &x)
 
__device__ __host__ void quda::blas::_caxpy (const float2 &a, const float4 &x, float4 &y)
 
__device__ __host__ void quda::blas::_caxpy (const float2 &a, const float2 &x, float2 &y)
 
__device__ __host__ void quda::blas::_caxpy (const double2 &a, const double2 &x, double2 &y)
 
void quda::blas::caxpy (const Complex &a, ColorSpinorField &x, ColorSpinorField &y)
 
__device__ __host__ void quda::blas::_caxpby (const float2 &a, const float4 &x, const float2 &b, float4 &y)
 
__device__ __host__ void quda::blas::_caxpby (const float2 &a, const float2 &x, const float2 &b, float2 &y)
 
__device__ __host__ void quda::blas::_caxpby (const double2 &a, const double2 &x, const double2 &b, double2 &y)
 
void quda::blas::caxpby (const Complex &a, ColorSpinorField &x, const Complex &b, ColorSpinorField &y)
 
__device__ __host__ void quda::blas::_cxpaypbz (const float4 &x, const float2 &a, const float4 &y, const float2 &b, float4 &z)
 
__device__ __host__ void quda::blas::_cxpaypbz (const float2 &x, const float2 &a, const float2 &y, const float2 &b, float2 &z)
 
__device__ __host__ void quda::blas::_cxpaypbz (const double2 &x, const double2 &a, const double2 &y, const double2 &b, double2 &z)
 
void quda::blas::cxpaypbz (ColorSpinorField &, const Complex &b, ColorSpinorField &y, const Complex &c, ColorSpinorField &z)
 
void quda::blas::axpyBzpcx (const double &a, ColorSpinorField &x, ColorSpinorField &y, const double &b, ColorSpinorField &z, const double &c)
 
void quda::blas::axpyZpbx (const double &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z, const double &b)
 
void quda::blas::caxpyBzpx (const Complex &, ColorSpinorField &, ColorSpinorField &, const Complex &, ColorSpinorField &)
 
void quda::blas::caxpyBxpz (const Complex &, ColorSpinorField &, ColorSpinorField &, const Complex &, ColorSpinorField &)
 
void quda::blas::caxpbypzYmbw (const Complex &, ColorSpinorField &, const Complex &, ColorSpinorField &, ColorSpinorField &, ColorSpinorField &)
 
void quda::blas::cabxpyAx (const double &a, const Complex &b, ColorSpinorField &x, ColorSpinorField &y)
 
void quda::blas::caxpbypz (const Complex &, ColorSpinorField &, const Complex &, ColorSpinorField &, ColorSpinorField &)
 
void quda::blas::caxpbypczpw (const Complex &, ColorSpinorField &, const Complex &, ColorSpinorField &, const Complex &, ColorSpinorField &, ColorSpinorField &)
 
void quda::blas::caxpyXmaz (const Complex &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z)
 
void quda::blas::caxpyXmazMR (const Complex &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z)
 
void quda::blas::tripleCGUpdate (const double &alpha, const double &beta, ColorSpinorField &q, ColorSpinorField &r, ColorSpinorField &x, ColorSpinorField &p)
 

Variables

static cudaStream_t * quda::blas::blasStream
 
struct {
   const char *   quda::blas::vol_str
 
   const char *   quda::blas::aux_str
 
   char   quda::blas::aux_tmp [TuneKey::aux_n]
 
quda::blas::blasStrings
 

Macro Definition Documentation

◆ BLAS_SPINOR

#define BLAS_SPINOR

Definition at line 39 of file blas_quda.cu.

◆ checkLength

#define checkLength (   a,
  b 
)
Value:
{ \
if (a.Length() != b.Length()) \
errorQuda("lengths do not match: %lu %lu", a.Length(), b.Length()); \
if (a.Stride() != b.Stride()) \
errorQuda("strides do not match: %d %d", a.Stride(), b.Stride()); \
}
#define errorQuda(...)
Definition: util_quda.h:90
#define b
#define a

Definition at line 27 of file blas_quda.cu.

◆ checkSpinor

#define checkSpinor (   a,
  b 
)
Value:
{ \
if (a.Precision() != b.Precision()) \
errorQuda("precisions do not match: %d %d", a.Precision(), b.Precision()); \
if (a.Length() != b.Length()) \
errorQuda("lengths do not match: %lu %lu", a.Length(), b.Length()); \
if (a.Stride() != b.Stride()) \
errorQuda("strides do not match: %d %d", a.Stride(), b.Stride()); \
}
#define errorQuda(...)
Definition: util_quda.h:90
#define b
#define a

Definition at line 17 of file blas_quda.cu.