GHOST  1.1.2
General, Hybrid, and Optimized Sparse Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes | Namespaces | Functions | Variables
sell_spmv.cpp File Reference
#include "ghost/types.h"
#include "ghost/omp.h"
#include "ghost/util.h"
#include "ghost/densemat.h"
#include "ghost/math.h"
#include "ghost/log.h"
#include "ghost/machine.h"
#include "ghost/timing.h"
#include "ghost/sell_spmv_cu_fallback.h"
#include "ghost/cpp11_fixes.h"
#include "ghost/autogen.h"
#include "ghost/sell_spmv_mic_gen.h"
#include "ghost/sell_spmv_avx2_gen.h"
#include "ghost/sell_spmv_avx_gen.h"
#include "ghost/sell_spmv_sse_gen.h"
#include "ghost/sell_spmv_plain_gen.h"
#include "ghost/sell_spmv_varblock_mic_gen.h"
#include "ghost/sell_spmv_varblock_avx_gen.h"
#include "ghost/sell_spmv_varblock_sse_gen.h"
#include "ghost/sell_spmv_varblock_plain_gen.h"
#include <complex>
#include <unordered_map>
#include <vector>
#include "sell_spmv_mic.def"
#include "sell_spmv_avx2.def"
#include "sell_spmv_avx.def"
#include "sell_spmv_sse.def"
#include "sell_spmv_plain.def"
#include "sell_spmv_varblock_mic.def"
#include "sell_spmv_varblock_avx.def"
#include "sell_spmv_varblock_sse.def"
#include "sell_spmv_varblock_plain.def"
Include dependency graph for sell_spmv.cpp:

Classes

struct  std::hash< ghost_sellspmv_parameters >
 

Namespaces

 std
 

Functions

template<typename m_t , typename v_t , bool scatteredvecs>
static ghost_error ghost_sell_spmv_plain_rm (ghost_densemat *lhs, ghost_sparsemat *mat, ghost_densemat *rhs, ghost_spmv_opts traits)
 
template<typename m_t , typename v_t >
static ghost_error ghost_sell_spmv_plain_rm_selector (ghost_densemat *lhs, ghost_sparsemat *mat, ghost_densemat *rhs, ghost_spmv_opts traits)
 
template<typename m_t , typename v_t , bool scatteredvecs>
static ghost_error ghost_sell_spmv_plain_cm (ghost_densemat *lhs, ghost_sparsemat *mat, ghost_densemat *rhs, ghost_spmv_opts traits)
 
template<typename m_t , typename v_t >
static ghost_error ghost_sell_spmv_plain_cm_selector (ghost_densemat *lhs, ghost_sparsemat *mat, ghost_densemat *rhs, ghost_spmv_opts traits)
 
static bool operator== (const ghost_sellspmv_parameters &a, const ghost_sellspmv_parameters &b)
 
ghost_error ghost_sell_spmv_selector (ghost_densemat *lhs, ghost_sparsemat *mat, ghost_densemat *rhs, ghost_spmv_opts traits)
 Select and call the right SELL SpMV kernel. More...
 
ghost_error ghost_cu_sell_spmv_selector (ghost_densemat *lhs, ghost_sparsemat *mat, ghost_densemat *rhs, ghost_spmv_opts traits)
 Select and call the right CUDA SELL SpMV kernel. More...
 

Variables

static std::unordered_map
< ghost_sellspmv_parameters,
ghost_spmv_kernel
ghost_sellspmv_kernels = std::unordered_map<ghost_sellspmv_parameters,ghost_spmv_kernel>()
 

Function Documentation

ghost_error ghost_cu_sell_spmv_selector ( ghost_densemat lhs,
ghost_sparsemat mat,
ghost_densemat rhs,
ghost_spmv_opts  traits 
)

Select and call the right CUDA SELL SpMV kernel.

Parameters
matThe matrix.
lhsThe result densemat.
rhsThe input densemat.
traitsThe SpMV traits.
Returns
GHOST_SUCCESS on success or an error indicator.

Here is the call graph for this function:

template<typename m_t , typename v_t , bool scatteredvecs>
static ghost_error ghost_sell_spmv_plain_cm ( ghost_densemat lhs,
ghost_sparsemat mat,
ghost_densemat rhs,
ghost_spmv_opts  traits 
)
static

Here is the call graph for this function:

template<typename m_t , typename v_t >
static ghost_error ghost_sell_spmv_plain_cm_selector ( ghost_densemat lhs,
ghost_sparsemat mat,
ghost_densemat rhs,
ghost_spmv_opts  traits 
)
static
template<typename m_t , typename v_t , bool scatteredvecs>
static ghost_error ghost_sell_spmv_plain_rm ( ghost_densemat lhs,
ghost_sparsemat mat,
ghost_densemat rhs,
ghost_spmv_opts  traits 
)
static

Here is the call graph for this function:

template<typename m_t , typename v_t >
static ghost_error ghost_sell_spmv_plain_rm_selector ( ghost_densemat lhs,
ghost_sparsemat mat,
ghost_densemat rhs,
ghost_spmv_opts  traits 
)
static
ghost_error ghost_sell_spmv_selector ( ghost_densemat lhs,
ghost_sparsemat mat,
ghost_densemat rhs,
ghost_spmv_opts  traits 
)

Select and call the right SELL SpMV kernel.

Parameters
matThe matrix.
lhsThe result densemat.
rhsThe input densemat.
traitsThe SpMV traits.
Returns
GHOST_SUCCESS on success or an error indicator.

Here is the call graph for this function:

static bool operator== ( const ghost_sellspmv_parameters a,
const ghost_sellspmv_parameters b 
)
static

Variable Documentation

std::unordered_map<ghost_sellspmv_parameters, ghost_spmv_kernel> ghost_sellspmv_kernels = std::unordered_map<ghost_sellspmv_parameters,ghost_spmv_kernel>()
static