Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Namespaces | Macros | Functions | Variables
csr_vector.h File Reference
#include <cusp/detail/device/arch.h>
#include <cusp/detail/device/common.h>
#include <cusp/detail/device/utils.h>
#include <cusp/detail/device/texture.h>
#include <thrust/device_ptr.h>
#include <cudaProfiler.h>
#include <cuda_profiler_api.h>
#include <stdio.h>
#include "Stokhos_config.h"
Include dependency graph for csr_vector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  cusp
 
namespace  cusp::detail
 
namespace  cusp::detail::device
 

Macros

#define USE_CUSPARSE_ROW   0
 
#define USE_CUSPARSE_COL   0
 

Functions

template<typename IndexType , typename ValueType , unsigned MAX_NNZ_PER_ROW>
__global__ void cusp::detail::device::spmm_csr_vector_kernel_row (const IndexType Anum_rows, const IndexType xnum_rows, const IndexType xnum_cols, const IndexType *Ar, const IndexType *Ac, const ValueType *Aval, const ValueType *x, ValueType *y)
 
template<typename Matrix , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_csr_vector (const Matrix &A, const Vector2 &x, Vector3 &y, cusp::row_major)
 
template<typename IndexType , typename ValueType , unsigned int VECTORS_PER_BLOCK, unsigned int THREADS_PER_VECTOR>
 cusp::detail::device::__launch_bounds__ (VECTORS_PER_BLOCK *THREADS_PER_VECTOR, 1) __global__ void spmm_csr_vector_kernel_col(const IndexType Anum_rows
 
 cusp::detail::device::for (IndexType row=vector_id;row< Anum_rows;row+=num_vectors)
 
template<bool UseCache, unsigned int THREADS_PER_VECTOR, typename Matrix , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_csr_vector_col (const Matrix &A, const Vector2 &x, Vector3 &y)
 
template<typename Matrix , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_csr_vector (const Matrix &A, const Vector2 &x, Vector3 &y, cusp::column_major)
 
template<typename Matrix , typename Vector2 , typename Vector3 >
void cusp::detail::device::spmm_csr_vector (const Matrix &A, const Vector2 &x, Vector3 &y)
 

Variables

const IndexType cusp::detail::device::xnum_rows
 
const IndexType const IndexType cusp::detail::device::xnum_cols
 
const IndexType const IndexType const IndexType * cusp::detail::device::Ap
 
const IndexType const IndexType const IndexType const IndexType * cusp::detail::device::Aj
 
const IndexType const IndexType const IndexType const IndexType const ValueType * cusp::detail::device::Ax
 
const IndexType const IndexType const IndexType const IndexType const ValueType const ValueType * cusp::detail::device::x
 
const IndexType const IndexType const IndexType const IndexType const ValueType const ValueType ValueType * cusp::detail::device::y
 
__shared__ volatile IndexType cusp::detail::device::ptrs [VECTORS_PER_BLOCK][2]
 
const IndexType cusp::detail::device::THREADS_PER_BLOCK = VECTORS_PER_BLOCK * THREADS_PER_VECTOR
 
const IndexType cusp::detail::device::thread_id = THREADS_PER_BLOCK * blockIdx.x + threadIdx.x
 
const IndexType cusp::detail::device::thread_lane = threadIdx.x & (THREADS_PER_VECTOR - 1)
 
const IndexType cusp::detail::device::vector_id = thread_id / THREADS_PER_VECTOR
 
const IndexType cusp::detail::device::vector_lane = threadIdx.x / THREADS_PER_VECTOR
 
const IndexType cusp::detail::device::num_vectors = VECTORS_PER_BLOCK * gridDim.x
 

Macro Definition Documentation

◆ USE_CUSPARSE_ROW

#define USE_CUSPARSE_ROW   0

Definition at line 35 of file csr_vector.h.

◆ USE_CUSPARSE_COL

#define USE_CUSPARSE_COL   0

Definition at line 36 of file csr_vector.h.