QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Functions | Variables
reduce_quda.cu File Reference
#include <atomic>
#include <blas_quda.h>
#include <tune_quda.h>
#include <float_vector.h>
#include <color_spinor_field_order.h>
#include <launch_kernel.cuh>
#include <jitify_helper.cuh>
#include <kernels/reduce_core.cuh>
#include <generic_reduce.cuh>
Include dependency graph for reduce_quda.cu:

Go to the source code of this file.

Classes

class  quda::blas::ReduceCuda< doubleN, ReduceType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >
 

Namespaces

 quda
 
 quda::blas
 

Functions

cudaStream_t * quda::blas::getStream ()
 
void * quda::blas::getDeviceReduceBuffer ()
 
void * quda::blas::getMappedHostReduceBuffer ()
 
void * quda::blas::getHostReduceBuffer ()
 
cudaEvent_t * quda::blas::getReduceEvent ()
 
bool quda::blas::getFastReduce ()
 
void quda::blas::initFastReduce (int32_t words)
 
void quda::blas::completeFastReduce (int32_t words)
 
void quda::blas::initReduce ()
 
void quda::blas::endReduce ()
 
template<typename doubleN , typename ReduceType , typename FloatN , int M, typename Arg >
doubleN quda::blas::reduceLaunch (Arg &arg, const TuneParam &tp, const cudaStream_t &stream, Tunable &tunable)
 
template<typename doubleN , typename ReduceType , typename RegType , typename StoreType , typename zType , int M, template< typename ReducerType, typename Float, typename FloatN > class Reducer, int writeX, int writeY, int writeZ, int writeW, int writeV>
doubleN quda::blas::nativeReduce (const double2 &a, const double2 &b, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z, ColorSpinorField &w, ColorSpinorField &v, int length)
 
template<typename doubleN , typename ReduceType , template< typename ReducerType, typename Float, typename FloatN > class Reducer, int writeX, int writeY, int writeZ, int writeW, int writeV, bool siteUnroll>
doubleN quda::blas::uni_reduce (const double2 &a, const double2 &b, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z, ColorSpinorField &w, ColorSpinorField &v)
 
template<typename doubleN , typename ReduceType , template< typename ReducerType, typename Float, typename FloatN > class Reducer, int writeX, int writeY, int writeZ, int writeW, int writeV, bool siteUnroll>
doubleN quda::blas::mixed_reduce (const double2 &a, const double2 &b, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z, ColorSpinorField &w, ColorSpinorField &v)
 
double quda::blas::norm1 (const ColorSpinorField &b)
 
double quda::blas::norm2 (const ColorSpinorField &a)
 
double quda::blas::reDotProduct (ColorSpinorField &x, ColorSpinorField &y)
 
double quda::blas::axpbyzNorm (double a, ColorSpinorField &x, double b, ColorSpinorField &y, ColorSpinorField &z)
 
double quda::blas::axpyReDot (double a, ColorSpinorField &x, ColorSpinorField &y)
 
double quda::blas::caxpyNorm (const Complex &a, ColorSpinorField &x, ColorSpinorField &y)
 
double quda::blas::caxpyXmazNormX (const Complex &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z)
 
double quda::blas::cabxpyzAxNorm (double a, const Complex &b, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z)
 
Complex quda::blas::cDotProduct (ColorSpinorField &, ColorSpinorField &)
 
Complex quda::blas::caxpyDotzy (const Complex &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z)
 
double3 quda::blas::cDotProductNormA (ColorSpinorField &a, ColorSpinorField &b)
 
double3 quda::blas::caxpbypzYmbwcDotProductUYNormY (const Complex &a, ColorSpinorField &x, const Complex &b, ColorSpinorField &y, ColorSpinorField &z, ColorSpinorField &w, ColorSpinorField &u)
 
Complex quda::blas::axpyCGNorm (double a, ColorSpinorField &x, ColorSpinorField &y)
 
double3 quda::blas::HeavyQuarkResidualNorm (ColorSpinorField &x, ColorSpinorField &r)
 
double3 quda::blas::xpyHeavyQuarkResidualNorm (ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &r)
 
double3 quda::blas::tripleCGReduction (ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z)
 
double4 quda::blas::quadrupleCGReduction (ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z)
 
double quda::blas::quadrupleCG3InitNorm (double a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z, ColorSpinorField &w, ColorSpinorField &v)
 
double quda::blas::quadrupleCG3UpdateNorm (double a, double b, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z, ColorSpinorField &w, ColorSpinorField &v)
 
double quda::blas::doubleCG3InitNorm (double a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z)
 
double quda::blas::doubleCG3UpdateNorm (double a, double b, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z)
 

Variables

static QudaSumFloatd_reduce =0
 
static QudaSumFloath_reduce =0
 
static QudaSumFloathd_reduce =0
 
static cudaEvent_t reduceEnd
 
static bool fast_reduce_enabled = false
 

Variable Documentation

◆ d_reduce

QudaSumFloat* d_reduce =0
static

◆ fast_reduce_enabled

bool fast_reduce_enabled = false
static

Definition at line 16 of file reduce_quda.cu.

Referenced by quda::blas::getFastReduce(), and quda::blas::initReduce().

◆ h_reduce

QudaSumFloat* h_reduce =0
static

◆ hd_reduce

QudaSumFloat* hd_reduce =0
static

◆ reduceEnd

cudaEvent_t reduceEnd
static