spla
Classes | Functions
Internal

Classes

class  spla::Accelerator
 Interface for an computations acceleration backend. More...
 
class  spla::DispatchContext
 Execution context of a single task. More...
 
class  spla::Dispatcher
 Class responsible for dispatching of execution of a single task. More...
 
class  spla::Logger
 Library logger. More...
 
class  spla::RegistryAlgo
 Algorithm suitable to process schedule task based on task string key. More...
 
class  spla::Registry
 Registry with key-algo mapping of stored algo implementations. More...
 
class  spla::TArray< T >
 Array interface implementation with type information bound. More...
 
class  spla::TDecoration< T >
 Base class for typed decoration for storage object. More...
 
class  spla::TDecorationStorage< T, F, capacity >
 Storage for decorators with data of a particular vector or matrix object. More...
 
class  spla::TMatrix< T >
 Matrix interface implementation with type information bound. More...
 
class  spla::TOpUnary< A0, R >
 
class  spla::TOpBinary< A0, A1, R >
 
class  spla::TOpSelect< A0 >
 
class  spla::TScalar< T >
 
class  spla::TType< T >
 Type interface implementation with actual type info bound. More...
 
class  spla::TVector< T >
 Vector interface implementation with type information bound. More...
 
class  spla::CpuDokVec< T >
 
class  spla::CpuDenseVec< T >
 CPU one-dim array for dense vector representation. More...
 
class  spla::CpuCooVec< T >
 CPU list-of-coordinates sparse vector representation. More...
 
class  spla::CpuLil< T >
 CPU list-of-list matrix format for fast incremental build. More...
 
class  spla::CpuDok< T >
 Dictionary of keys sparse matrix format. More...
 
class  spla::CpuCoo< T >
 CPU list of coordinates matrix format. More...
 
class  spla::CpuCsr< T >
 CPU compressed sparse row matrix format. More...
 
class  spla::CLAccelerator
 Single-device OpenCL acceleration implementation. More...
 
class  spla::CLDenseVec< T >
 OpenCL one-dim array for dense vector representation. More...
 
class  spla::CLCooVec< T >
 OpenCL list-of-coordinates sparse vector representation. More...
 
class  spla::CLCsr< T >
 OpenCL compressed sparse row matrix representation. More...
 
class  spla::CLProgram
 Compiled opencl program from library sources. More...
 
class  spla::CLProgramBuilder
 Runtime opencl program builder. More...
 
class  spla::CLProgramCache
 Runtime cache for compiled opencl programs. More...
 
struct  spla::TimeProfilerLabel
 
struct  spla::TimeProfilerScope
 
class  spla::TimeProfiler
 Scope-based time profiler to measure perf of schedule tasks execution. More...
 
class  spla::ScheduleSingleThread
 Single-thread dispatch sequential execution schedule. More...
 
class  spla::ScheduleTaskBase
 Base schedule task class with common public properties. More...
 
class  spla::ScheduleTask_callback
 Callback task. More...
 
class  spla::ScheduleTask_mxm
 Sparse matrix sparse matrix product. More...
 
class  spla::ScheduleTask_mxmT_masked
 Masked matrix matrix-transposed product. More...
 
class  spla::ScheduleTask_kron
 Sparse matrix kronecker product. More...
 
class  spla::ScheduleTask_mxv_masked
 Masked matrix-vector product. More...
 
class  spla::ScheduleTask_vxm_masked
 Masked vector-matrix product. More...
 
class  spla::ScheduleTask_m_eadd
 Matrix ewise add. More...
 
class  spla::ScheduleTask_m_emult
 Matrix ewise add. More...
 
class  spla::ScheduleTask_m_reduce_by_row
 Matrix by row reduction. More...
 
class  spla::ScheduleTask_m_reduce_by_column
 Matrix by col reduction. More...
 
class  spla::ScheduleTask_m_reduce
 Matrix reduction to scalar. More...
 
class  spla::ScheduleTask_m_transpose
 Matrix transpose. More...
 
class  spla::ScheduleTask_m_extract_row
 Matrix extract vector. More...
 
class  spla::ScheduleTask_m_extract_column
 Matrix extract vector. More...
 
class  spla::ScheduleTask_v_eadd
 Vector ewise add. More...
 
class  spla::ScheduleTask_v_emult
 Vector ewise mult. More...
 
class  spla::ScheduleTask_v_eadd_fdb
 Vector ewise with feedback. More...
 
class  spla::ScheduleTask_v_assign_masked
 Masked vector assignment. More...
 
class  spla::ScheduleTask_v_map
 Vector map to vector. More...
 
class  spla::ScheduleTask_v_reduce
 Vector reduction to scalar. More...
 
class  spla::ScheduleTask_v_count_mf
 Vector count meaningful elements. More...
 
class  spla::StorageManager< T, F, capacity >
 General format converter for vector or matrix decoration storage. More...
 
struct  spla::pair_hash
 

Functions

void spla::register_ops ()
 Register all ops on library initialization. More...
 
template<>
ref_ptr< TType< T_BOOL > > spla::get_ttype ()
 
void spla::register_algo_cpu (class Registry *g_registry)
 Register all cpu-specific algorithms. More...
 
template<typename T >
void spla::cpu_coo_resize (const uint n_values, CpuCoo< T > &storage)
 
template<typename T >
void spla::cpu_coo_clear (CpuCoo< T > &in)
 
template<typename T >
void spla::cpu_coo_to_lil (uint n_rows, const CpuCoo< T > &in, CpuLil< T > &out)
 
template<typename T >
void spla::cpu_coo_to_dok (const CpuCoo< T > &in, CpuDok< T > &out)
 
template<typename T >
void spla::cpu_coo_to_csr (uint n_rows, const CpuCoo< T > &in, CpuCsr< T > &out)
 
template<typename T >
void spla::cpu_coo_vec_sort (CpuCooVec< T > &vec)
 
template<typename T >
void spla::cpu_coo_vec_resize (const uint n_values, CpuCooVec< T > &vec)
 
template<typename T >
void spla::cpu_coo_vec_clear (CpuCooVec< T > &vec)
 
template<typename T >
void spla::cpu_coo_vec_to_dok (const CpuCooVec< T > &in, CpuDokVec< T > &out)
 
template<typename T >
void spla::cpu_csr_resize (const uint n_rows, const uint n_values, CpuCsr< T > &storage)
 
template<typename T >
void spla::cpu_csr_to_dok (uint n_rows, const CpuCsr< T > &in, CpuDok< T > &out)
 
template<typename T >
void spla::cpu_csr_to_coo (uint n_rows, const CpuCsr< T > &in, CpuCoo< T > &out)
 
template<typename T >
void spla::cpu_dense_vec_resize (const uint n_rows, CpuDenseVec< T > &vec)
 
template<typename T >
void spla::cpu_dense_vec_fill (const T fill_value, CpuDenseVec< T > &vec)
 
template<typename T >
void spla::cpu_dense_vec_to_dok (const uint n_rows, const T fill_value, const CpuDenseVec< T > &in, CpuDokVec< T > &out)
 
template<typename T >
void spla::cpu_dok_clear (CpuDok< T > &storage)
 
template<typename T >
void spla::cpu_dok_vec_to_coo (const CpuDokVec< T > &in, CpuCooVec< T > &out)
 
template<typename T >
void spla::cpu_dok_vec_to_dense (const uint n_rows, const CpuDokVec< T > &in, CpuDenseVec< T > &out)
 
template<typename T >
void spla::cpu_dok_vec_add_element (uint row_id, T element, CpuDokVec< T > &vec)
 
template<typename T >
void spla::cpu_dok_vec_clear (CpuDokVec< T > &vec)
 
template<typename T >
void spla::cpu_lil_resize (uint n_rows, CpuLil< T > &lil)
 
template<typename T >
void spla::cpu_lil_clear (CpuLil< T > &lil)
 
template<typename T >
void spla::cpu_lil_add_element (uint row_id, uint col_id, T element, CpuLil< T > &lil)
 
template<typename T >
void spla::cpu_lil_to_dok (uint n_rows, const CpuLil< T > &in, CpuDok< T > &out)
 
template<typename T >
void spla::cpu_lil_to_coo (uint n_rows, const CpuLil< T > &in, CpuCoo< T > &out)
 
template<typename T >
void spla::cpu_lil_to_csr (uint n_rows, const CpuLil< T > &in, CpuCsr< T > &out)
 
void spla::register_algo_cl (class Registry *g_registry)
 Register all opencl-specific algorithms. More...
 
template<typename T >
void spla::cl_coo_vec_init (const std::size_t n_values, const uint *Ai, const T *Ax, CLCooVec< T > &storage)
 
template<typename T >
void spla::cl_coo_vec_resize (const std::size_t n_values, CLCooVec< T > &storage)
 
template<typename T >
void spla::cl_coo_vec_clear (CLCooVec< T > &storage)
 
template<typename T >
void spla::cl_coo_vec_read (const std::size_t n_values, uint *Ai, T *Ax, const CLCooVec< T > &storage, cl::CommandQueue &queue, cl_mem_flags staging_flags=CL_MEM_READ_ONLY|CL_MEM_HOST_READ_ONLY|CL_MEM_ALLOC_HOST_PTR, bool blocking=true)
 
template<typename T >
void spla::cl_coo_vec_to_dense (const std::size_t n_rows, const T fill_value, const CLCooVec< T > &in, CLDenseVec< T > &out, cl::CommandQueue &queue)
 
template<typename T >
void spla::cl_csr_init (std::size_t n_rows, std::size_t n_values, const uint *Ap, const uint *Aj, const T *Ax, CLCsr< T > &storage)
 
template<typename T >
void spla::cl_csr_resize (std::size_t n_rows, std::size_t n_values, CLCsr< T > &storage)
 
template<typename T >
void spla::cl_csr_read (std::size_t n_rows, std::size_t n_values, uint *Ap, uint *Aj, T *Ax, CLCsr< T > &storage, cl::CommandQueue &queue, cl_mem_flags staging_flags=CL_MEM_READ_ONLY|CL_MEM_HOST_READ_ONLY|CL_MEM_ALLOC_HOST_PTR, bool blocking=true)
 
template<typename T >
void spla::cl_dense_vec_resize (const std::size_t n_rows, CLDenseVec< T > &storage)
 
template<typename T >
void spla::cl_dense_vec_fill_value (const std::size_t n_rows, const T value, CLDenseVec< T > &storage)
 
template<typename T >
void spla::cl_dense_vec_init (const std::size_t n_rows, const T *values, CLDenseVec< T > &storage)
 
template<typename T >
void spla::cl_dense_vec_read (const std::size_t n_rows, T *values, CLDenseVec< T > &storage, cl::CommandQueue &queue, cl_mem_flags staging_flags=CL_MEM_READ_ONLY|CL_MEM_HOST_READ_ONLY|CL_MEM_ALLOC_HOST_PTR, bool blocking=true)
 
template<typename T >
void spla::cl_dense_vec_to_coo (const std::size_t n_rows, const T fill_value, const CLDenseVec< T > &in, CLCooVec< T > &out, cl::CommandQueue &queue)
 
template<class T >
void spla::hash_combine (std::size_t &seed, const T &v)
 
 spla::TArray< T >::TArray (uint n_values)
 
uint spla::TArray< T >::get_n_values () override
 
ref_ptr< Typespla::TArray< T >::get_type () override
 
Status spla::TArray< T >::set_int (uint i, T_INT value) override
 
Status spla::TArray< T >::set_uint (uint i, T_UINT value) override
 
Status spla::TArray< T >::set_float (uint i, T_FLOAT value) override
 
Status spla::TArray< T >::get_int (uint i, T_INT &value) override
 
Status spla::TArray< T >::get_uint (uint i, T_UINT &value) override
 
Status spla::TArray< T >::get_float (uint i, T_FLOAT &value) override
 
Status spla::TArray< T >::resize (uint n_values) override
 
Status spla::TArray< T >::clear () override
 
void spla::TArray< T >::set_label (std::string label) override
 
const std::string & spla::TArray< T >::get_label () const override
 
Status spla::TArray< T >::build (const ref_ptr< MemView > &view) override
 
Status spla::TArray< T >::read (ref_ptr< MemView > &view) override
 
 spla::TMatrix< T >::TMatrix (uint n_rows, uint n_cols)
 
uint spla::TMatrix< T >::get_n_rows () override
 
uint spla::TMatrix< T >::get_n_cols () override
 
ref_ptr< Typespla::TMatrix< T >::get_type () override
 
void spla::TMatrix< T >::set_label (std::string label) override
 
const std::string & spla::TMatrix< T >::get_label () const override
 
Status spla::TMatrix< T >::set_format (FormatMatrix format) override
 
Status spla::TMatrix< T >::set_fill_value (const ref_ptr< Scalar > &value) override
 
Status spla::TMatrix< T >::set_reduce (ref_ptr< OpBinary > resolve_duplicates) override
 
Status spla::TMatrix< T >::set_int (uint row_id, uint col_id, std::int32_t value) override
 
Status spla::TMatrix< T >::set_uint (uint row_id, uint col_id, std::uint32_t value) override
 
Status spla::TMatrix< T >::set_float (uint row_id, uint col_id, float value) override
 
Status spla::TMatrix< T >::get_int (uint row_id, uint col_id, int32_t &value) override
 
Status spla::TMatrix< T >::get_uint (uint row_id, uint col_id, uint32_t &value) override
 
Status spla::TMatrix< T >::get_float (uint row_id, uint col_id, float &value) override
 
Status spla::TMatrix< T >::build (const ref_ptr< MemView > &keys1, const ref_ptr< MemView > &keys2, const ref_ptr< MemView > &values) override
 
Status spla::TMatrix< T >::read (ref_ptr< MemView > &keys1, ref_ptr< MemView > &keys2, ref_ptr< MemView > &values) override
 
Status spla::TMatrix< T >::clear () override
 
void spla::TMatrix< T >::validate_rw (FormatMatrix format)
 
void spla::TMatrix< T >::validate_rwd (FormatMatrix format)
 
void spla::TMatrix< T >::validate_wd (FormatMatrix format)
 
void spla::TMatrix< T >::validate_ctor (FormatMatrix format)
 
bool spla::TMatrix< T >::is_valid (FormatMatrix format) const
 
static StorageManagerMatrix< T > * spla::TMatrix< T >::get_storage_manager ()
 
void spla::TOpUnary< A0, R >::set_label (std::string label) override
 
const std::string & spla::TOpUnary< A0, R >::get_label () const override
 
std::string spla::TOpUnary< A0, R >::get_name () override
 
std::string spla::TOpUnary< A0, R >::get_source_cl () override
 
std::string spla::TOpUnary< A0, R >::get_key () override
 
ref_ptr< Typespla::TOpUnary< A0, R >::get_type_arg_0 () override
 
ref_ptr< Typespla::TOpUnary< A0, R >::get_type_res () override
 
void spla::TOpBinary< A0, A1, R >::set_label (std::string label) override
 
const std::string & spla::TOpBinary< A0, A1, R >::get_label () const override
 
std::string spla::TOpBinary< A0, A1, R >::get_name () override
 
std::string spla::TOpBinary< A0, A1, R >::get_source_cl () override
 
std::string spla::TOpBinary< A0, A1, R >::get_key () override
 
ref_ptr< Typespla::TOpBinary< A0, A1, R >::get_type_arg_0 () override
 
ref_ptr< Typespla::TOpBinary< A0, A1, R >::get_type_arg_1 () override
 
ref_ptr< Typespla::TOpBinary< A0, A1, R >::get_type_res () override
 
void spla::TOpSelect< A0 >::set_label (std::string label) override
 
const std::string & spla::TOpSelect< A0 >::get_label () const override
 
std::string spla::TOpSelect< A0 >::get_name () override
 
std::string spla::TOpSelect< A0 >::get_source_cl () override
 
std::string spla::TOpSelect< A0 >::get_key () override
 
ref_ptr< Typespla::TOpSelect< A0 >::get_type_arg_0 () override
 
ref_ptr< Typespla::TOpSelect< A0 >::get_type_res () override
 
 spla::TScalar< T >::TScalar (T value)
 
ref_ptr< Typespla::TScalar< T >::get_type () override
 
Status spla::TScalar< T >::set_int (std::int32_t value) override
 
Status spla::TScalar< T >::set_uint (std::uint32_t value) override
 
Status spla::TScalar< T >::set_float (float value) override
 
Status spla::TScalar< T >::get_int (std::int32_t &value) override
 
Status spla::TScalar< T >::get_uint (std::uint32_t &value) override
 
Status spla::TScalar< T >::get_float (float &value) override
 
void spla::TScalar< T >::set_label (std::string label) override
 
const std::string & spla::TScalar< T >::get_label () const override
 
T & spla::TScalar< T >::get_value ()
 
spla::TScalar< T >::get_value () const
 
SPLA_API const std::string & spla::TType< T >::get_name () override
 
SPLA_API const std::string & spla::TType< T >::get_code () override
 
SPLA_API const std::string & spla::TType< T >::get_cpp () override
 
SPLA_API const std::string & spla::TType< T >::get_description () override
 
SPLA_API int spla::TType< T >::get_size () override
 
SPLA_API int spla::TType< T >::get_id () override
 
static ref_ptr< Typespla::TType< T >::make_type (std::string name, std::string code, std::string cpp, std::string desc, int id)
 
 spla::TVector< T >::TVector (uint n_rows)
 
uint spla::TVector< T >::get_n_rows () override
 
ref_ptr< Typespla::TVector< T >::get_type () override
 
void spla::TVector< T >::set_label (std::string label) override
 
const std::string & spla::TVector< T >::get_label () const override
 
Status spla::TVector< T >::set_format (FormatVector format) override
 
Status spla::TVector< T >::set_fill_value (const ref_ptr< Scalar > &value) override
 
Status spla::TVector< T >::set_reduce (ref_ptr< OpBinary > resolve_duplicates) override
 
Status spla::TVector< T >::set_int (uint row_id, std::int32_t value) override
 
Status spla::TVector< T >::set_uint (uint row_id, std::uint32_t value) override
 
Status spla::TVector< T >::set_float (uint row_id, float value) override
 
Status spla::TVector< T >::get_int (uint row_id, int32_t &value) override
 
Status spla::TVector< T >::get_uint (uint row_id, uint32_t &value) override
 
Status spla::TVector< T >::get_float (uint row_id, float &value) override
 
Status spla::TVector< T >::fill_noize (uint seed) override
 
Status spla::TVector< T >::fill_with (const ref_ptr< Scalar > &value) override
 
Status spla::TVector< T >::build (const ref_ptr< MemView > &keys, const ref_ptr< MemView > &values) override
 
Status spla::TVector< T >::read (ref_ptr< MemView > &keys, ref_ptr< MemView > &values) override
 
Status spla::TVector< T >::clear () override
 
void spla::TVector< T >::validate_rw (FormatVector format)
 
void spla::TVector< T >::validate_rwd (FormatVector format)
 
void spla::TVector< T >::validate_wd (FormatVector format)
 
void spla::TVector< T >::validate_ctor (FormatVector format)
 
bool spla::TVector< T >::is_valid (FormatVector format) const
 
static StorageManagerVector< T > * spla::TVector< T >::get_storage_manager ()
 
 spla::StorageManager< T, F, capacity >::StorageManager ()
 
void spla::StorageManager< T, F, capacity >::register_constructor (F format, Function function)
 
void spla::StorageManager< T, F, capacity >::register_validator (F format, Function function)
 
void spla::StorageManager< T, F, capacity >::register_discard (F format, Function function)
 
void spla::StorageManager< T, F, capacity >::register_validator_discard (F format, Function function)
 
void spla::StorageManager< T, F, capacity >::register_converter (F from, F to, Function function)
 
void spla::StorageManager< T, F, capacity >::validate_ctor (F format, Storage &storage)
 
void spla::StorageManager< T, F, capacity >::validate_rw (F format, Storage &storage)
 
void spla::StorageManager< T, F, capacity >::validate_rwd (F format, Storage &storage)
 
void spla::StorageManager< T, F, capacity >::validate_wd (F format, Storage &storage)
 

Detailed Description

Function Documentation

◆ build() [1/3]

template<typename T >
Status spla::TVector< T >::build ( const ref_ptr< MemView > &  keys,
const ref_ptr< MemView > &  values 
)
overridevirtual

Implements spla::Vector.

◆ build() [2/3]

template<typename T >
Status spla::TMatrix< T >::build ( const ref_ptr< MemView > &  keys1,
const ref_ptr< MemView > &  keys2,
const ref_ptr< MemView > &  values 
)
overridevirtual

Implements spla::Matrix.

◆ build() [3/3]

template<typename T >
Status spla::TArray< T >::build ( const ref_ptr< MemView > &  view)
overridevirtual

Implements spla::Array.

◆ cl_coo_vec_clear()

template<typename T >
void spla::cl_coo_vec_clear ( CLCooVec< T > &  storage)

◆ cl_coo_vec_init()

template<typename T >
void spla::cl_coo_vec_init ( const std::size_t  n_values,
const uint Ai,
const T *  Ax,
CLCooVec< T > &  storage 
)

◆ cl_coo_vec_read()

template<typename T >
void spla::cl_coo_vec_read ( const std::size_t  n_values,
uint Ai,
T *  Ax,
const CLCooVec< T > &  storage,
cl::CommandQueue &  queue,
cl_mem_flags  staging_flags = CL_MEM_READ_ONLY | CL_MEM_HOST_READ_ONLY | CL_MEM_ALLOC_HOST_PTR,
bool  blocking = true 
)

◆ cl_coo_vec_resize()

template<typename T >
void spla::cl_coo_vec_resize ( const std::size_t  n_values,
CLCooVec< T > &  storage 
)

◆ cl_coo_vec_to_dense()

template<typename T >
void spla::cl_coo_vec_to_dense ( const std::size_t  n_rows,
const T  fill_value,
const CLCooVec< T > &  in,
CLDenseVec< T > &  out,
cl::CommandQueue &  queue 
)

◆ cl_csr_init()

template<typename T >
void spla::cl_csr_init ( std::size_t  n_rows,
std::size_t  n_values,
const uint Ap,
const uint Aj,
const T *  Ax,
CLCsr< T > &  storage 
)

◆ cl_csr_read()

template<typename T >
void spla::cl_csr_read ( std::size_t  n_rows,
std::size_t  n_values,
uint Ap,
uint Aj,
T *  Ax,
CLCsr< T > &  storage,
cl::CommandQueue &  queue,
cl_mem_flags  staging_flags = CL_MEM_READ_ONLY | CL_MEM_HOST_READ_ONLY | CL_MEM_ALLOC_HOST_PTR,
bool  blocking = true 
)

◆ cl_csr_resize()

template<typename T >
void spla::cl_csr_resize ( std::size_t  n_rows,
std::size_t  n_values,
CLCsr< T > &  storage 
)

◆ cl_dense_vec_fill_value()

template<typename T >
void spla::cl_dense_vec_fill_value ( const std::size_t  n_rows,
const T  value,
CLDenseVec< T > &  storage 
)

◆ cl_dense_vec_init()

template<typename T >
void spla::cl_dense_vec_init ( const std::size_t  n_rows,
const T *  values,
CLDenseVec< T > &  storage 
)

◆ cl_dense_vec_read()

template<typename T >
void spla::cl_dense_vec_read ( const std::size_t  n_rows,
T *  values,
CLDenseVec< T > &  storage,
cl::CommandQueue &  queue,
cl_mem_flags  staging_flags = CL_MEM_READ_ONLY | CL_MEM_HOST_READ_ONLY | CL_MEM_ALLOC_HOST_PTR,
bool  blocking = true 
)

◆ cl_dense_vec_resize()

template<typename T >
void spla::cl_dense_vec_resize ( const std::size_t  n_rows,
CLDenseVec< T > &  storage 
)

◆ cl_dense_vec_to_coo()

template<typename T >
void spla::cl_dense_vec_to_coo ( const std::size_t  n_rows,
const T  fill_value,
const CLDenseVec< T > &  in,
CLCooVec< T > &  out,
cl::CommandQueue &  queue 
)

◆ clear() [1/3]

template<typename T >
Status spla::TArray< T >::clear
overridevirtual

Implements spla::Array.

◆ clear() [2/3]

template<typename T >
Status spla::TMatrix< T >::clear
overridevirtual

Implements spla::Matrix.

◆ clear() [3/3]

template<typename T >
Status spla::TVector< T >::clear
overridevirtual

Implements spla::Vector.

◆ cpu_coo_clear()

template<typename T >
void spla::cpu_coo_clear ( CpuCoo< T > &  in)

◆ cpu_coo_resize()

template<typename T >
void spla::cpu_coo_resize ( const uint  n_values,
CpuCoo< T > &  storage 
)

◆ cpu_coo_to_csr()

template<typename T >
void spla::cpu_coo_to_csr ( uint  n_rows,
const CpuCoo< T > &  in,
CpuCsr< T > &  out 
)

◆ cpu_coo_to_dok()

template<typename T >
void spla::cpu_coo_to_dok ( const CpuCoo< T > &  in,
CpuDok< T > &  out 
)

◆ cpu_coo_to_lil()

template<typename T >
void spla::cpu_coo_to_lil ( uint  n_rows,
const CpuCoo< T > &  in,
CpuLil< T > &  out 
)

◆ cpu_coo_vec_clear()

template<typename T >
void spla::cpu_coo_vec_clear ( CpuCooVec< T > &  vec)

◆ cpu_coo_vec_resize()

template<typename T >
void spla::cpu_coo_vec_resize ( const uint  n_values,
CpuCooVec< T > &  vec 
)

◆ cpu_coo_vec_sort()

template<typename T >
void spla::cpu_coo_vec_sort ( CpuCooVec< T > &  vec)

◆ cpu_coo_vec_to_dok()

template<typename T >
void spla::cpu_coo_vec_to_dok ( const CpuCooVec< T > &  in,
CpuDokVec< T > &  out 
)

◆ cpu_csr_resize()

template<typename T >
void spla::cpu_csr_resize ( const uint  n_rows,
const uint  n_values,
CpuCsr< T > &  storage 
)

◆ cpu_csr_to_coo()

template<typename T >
void spla::cpu_csr_to_coo ( uint  n_rows,
const CpuCsr< T > &  in,
CpuCoo< T > &  out 
)

◆ cpu_csr_to_dok()

template<typename T >
void spla::cpu_csr_to_dok ( uint  n_rows,
const CpuCsr< T > &  in,
CpuDok< T > &  out 
)

◆ cpu_dense_vec_fill()

template<typename T >
void spla::cpu_dense_vec_fill ( const T  fill_value,
CpuDenseVec< T > &  vec 
)

◆ cpu_dense_vec_resize()

template<typename T >
void spla::cpu_dense_vec_resize ( const uint  n_rows,
CpuDenseVec< T > &  vec 
)

◆ cpu_dense_vec_to_dok()

template<typename T >
void spla::cpu_dense_vec_to_dok ( const uint  n_rows,
const T  fill_value,
const CpuDenseVec< T > &  in,
CpuDokVec< T > &  out 
)

◆ cpu_dok_clear()

template<typename T >
void spla::cpu_dok_clear ( CpuDok< T > &  storage)

◆ cpu_dok_vec_add_element()

template<typename T >
void spla::cpu_dok_vec_add_element ( uint  row_id,
element,
CpuDokVec< T > &  vec 
)

◆ cpu_dok_vec_clear()

template<typename T >
void spla::cpu_dok_vec_clear ( CpuDokVec< T > &  vec)

◆ cpu_dok_vec_to_coo()

template<typename T >
void spla::cpu_dok_vec_to_coo ( const CpuDokVec< T > &  in,
CpuCooVec< T > &  out 
)

◆ cpu_dok_vec_to_dense()

template<typename T >
void spla::cpu_dok_vec_to_dense ( const uint  n_rows,
const CpuDokVec< T > &  in,
CpuDenseVec< T > &  out 
)

◆ cpu_lil_add_element()

template<typename T >
void spla::cpu_lil_add_element ( uint  row_id,
uint  col_id,
element,
CpuLil< T > &  lil 
)

◆ cpu_lil_clear()

template<typename T >
void spla::cpu_lil_clear ( CpuLil< T > &  lil)

◆ cpu_lil_resize()

template<typename T >
void spla::cpu_lil_resize ( uint  n_rows,
CpuLil< T > &  lil 
)

◆ cpu_lil_to_coo()

template<typename T >
void spla::cpu_lil_to_coo ( uint  n_rows,
const CpuLil< T > &  in,
CpuCoo< T > &  out 
)

◆ cpu_lil_to_csr()

template<typename T >
void spla::cpu_lil_to_csr ( uint  n_rows,
const CpuLil< T > &  in,
CpuCsr< T > &  out 
)

◆ cpu_lil_to_dok()

template<typename T >
void spla::cpu_lil_to_dok ( uint  n_rows,
const CpuLil< T > &  in,
CpuDok< T > &  out 
)

◆ fill_noize()

template<typename T >
Status spla::TVector< T >::fill_noize ( uint  seed)
overridevirtual

Implements spla::Vector.

◆ fill_with()

template<typename T >
Status spla::TVector< T >::fill_with ( const ref_ptr< Scalar > &  value)
overridevirtual

Implements spla::Vector.

◆ get_code()

template<typename T >
const std::string & spla::TType< T >::get_code
overridevirtual

Implements spla::Type.

◆ get_cpp()

template<typename T >
const std::string & spla::TType< T >::get_cpp
overridevirtual

Implements spla::Type.

◆ get_description()

template<typename T >
const std::string & spla::TType< T >::get_description
overridevirtual

Implements spla::Type.

◆ get_float() [1/4]

template<typename T >
Status spla::TScalar< T >::get_float ( float &  value)
overridevirtual

Implements spla::Scalar.

◆ get_float() [2/4]

template<typename T >
Status spla::TArray< T >::get_float ( uint  i,
T_FLOAT value 
)
overridevirtual

Implements spla::Array.

◆ get_float() [3/4]

template<typename T >
Status spla::TVector< T >::get_float ( uint  row_id,
float &  value 
)
overridevirtual

Implements spla::Vector.

◆ get_float() [4/4]

template<typename T >
Status spla::TMatrix< T >::get_float ( uint  row_id,
uint  col_id,
float &  value 
)
overridevirtual

Implements spla::Matrix.

◆ get_id()

template<typename T >
int spla::TType< T >::get_id
overridevirtual

Implements spla::Type.

◆ get_int() [1/4]

template<typename T >
Status spla::TScalar< T >::get_int ( std::int32_t &  value)
overridevirtual

Implements spla::Scalar.

◆ get_int() [2/4]

template<typename T >
Status spla::TArray< T >::get_int ( uint  i,
T_INT value 
)
overridevirtual

Implements spla::Array.

◆ get_int() [3/4]

template<typename T >
Status spla::TVector< T >::get_int ( uint  row_id,
int32_t &  value 
)
override

◆ get_int() [4/4]

template<typename T >
Status spla::TMatrix< T >::get_int ( uint  row_id,
uint  col_id,
int32_t &  value 
)
override

◆ get_key() [1/3]

template<typename A0 , typename R >
std::string spla::TOpUnary< A0, R >::get_key
overridevirtual

Implements spla::Op.

◆ get_key() [2/3]

template<typename A0 , typename A1 , typename R >
std::string spla::TOpBinary< A0, A1, R >::get_key
overridevirtual

Implements spla::Op.

◆ get_key() [3/3]

template<typename A0 >
std::string spla::TOpSelect< A0 >::get_key
overridevirtual

Implements spla::Op.

◆ get_label() [1/7]

template<typename T >
const std::string & spla::TArray< T >::get_label
overridevirtual

Implements spla::Object.

◆ get_label() [2/7]

template<typename T >
const std::string & spla::TMatrix< T >::get_label
overridevirtual

Implements spla::Object.

◆ get_label() [3/7]

template<typename A0 , typename R >
const std::string & spla::TOpUnary< A0, R >::get_label
overridevirtual

Implements spla::Object.

◆ get_label() [4/7]

template<typename A0 , typename A1 , typename R >
const std::string & spla::TOpBinary< A0, A1, R >::get_label
overridevirtual

Implements spla::Object.

◆ get_label() [5/7]

template<typename A0 >
const std::string & spla::TOpSelect< A0 >::get_label
overridevirtual

Implements spla::Object.

◆ get_label() [6/7]

template<typename T >
const std::string & spla::TScalar< T >::get_label
overridevirtual

Implements spla::Object.

◆ get_label() [7/7]

template<typename T >
const std::string & spla::TVector< T >::get_label
overridevirtual

Implements spla::Object.

◆ get_n_cols()

template<typename T >
uint spla::TMatrix< T >::get_n_cols
overridevirtual

Implements spla::Matrix.

◆ get_n_rows() [1/2]

template<typename T >
uint spla::TMatrix< T >::get_n_rows
overridevirtual

Implements spla::Matrix.

◆ get_n_rows() [2/2]

template<typename T >
uint spla::TVector< T >::get_n_rows
overridevirtual

Implements spla::Vector.

◆ get_n_values()

template<typename T >
uint spla::TArray< T >::get_n_values
overridevirtual

Implements spla::Array.

◆ get_name() [1/4]

template<typename A0 , typename R >
std::string spla::TOpUnary< A0, R >::get_name
overridevirtual

Implements spla::Op.

◆ get_name() [2/4]

template<typename A0 , typename A1 , typename R >
std::string spla::TOpBinary< A0, A1, R >::get_name
overridevirtual

Implements spla::Op.

◆ get_name() [3/4]

template<typename A0 >
std::string spla::TOpSelect< A0 >::get_name
overridevirtual

Implements spla::Op.

◆ get_name() [4/4]

template<typename T >
const std::string & spla::TType< T >::get_name
overridevirtual

Implements spla::Type.

◆ get_size()

template<typename T >
int spla::TType< T >::get_size
overridevirtual

Implements spla::Type.

◆ get_source_cl() [1/3]

template<typename A0 , typename R >
std::string spla::TOpUnary< A0, R >::get_source_cl
overridevirtual

Implements spla::Op.

◆ get_source_cl() [2/3]

template<typename A0 , typename A1 , typename R >
std::string spla::TOpBinary< A0, A1, R >::get_source_cl
overridevirtual

Implements spla::Op.

◆ get_source_cl() [3/3]

template<typename A0 >
std::string spla::TOpSelect< A0 >::get_source_cl
overridevirtual

Implements spla::Op.

◆ get_storage_manager() [1/2]

template<typename T >
StorageManagerMatrix< T > * spla::TMatrix< T >::get_storage_manager
static

◆ get_storage_manager() [2/2]

template<typename T >
StorageManagerVector< T > * spla::TVector< T >::get_storage_manager
static

◆ get_ttype()

template<>
ref_ptr< TType< T_FLOAT > > spla::get_ttype ( )

◆ get_type() [1/4]

template<typename T >
ref_ptr< Type > spla::TArray< T >::get_type
overridevirtual

Implements spla::Array.

◆ get_type() [2/4]

template<typename T >
ref_ptr< Type > spla::TMatrix< T >::get_type
overridevirtual

Implements spla::Matrix.

◆ get_type() [3/4]

template<typename T >
ref_ptr< Type > spla::TScalar< T >::get_type
overridevirtual

Implements spla::Scalar.

◆ get_type() [4/4]

template<typename T >
ref_ptr< Type > spla::TVector< T >::get_type
overridevirtual

Implements spla::Vector.

◆ get_type_arg_0() [1/3]

template<typename A0 , typename R >
ref_ptr< Type > spla::TOpUnary< A0, R >::get_type_arg_0
overridevirtual

Implements spla::OpUnary.

◆ get_type_arg_0() [2/3]

template<typename A0 , typename A1 , typename R >
ref_ptr< Type > spla::TOpBinary< A0, A1, R >::get_type_arg_0
overridevirtual

Implements spla::OpBinary.

◆ get_type_arg_0() [3/3]

template<typename A0 >
ref_ptr< Type > spla::TOpSelect< A0 >::get_type_arg_0
overridevirtual

Implements spla::OpSelect.

◆ get_type_arg_1()

template<typename A0 , typename A1 , typename R >
ref_ptr< Type > spla::TOpBinary< A0, A1, R >::get_type_arg_1
overridevirtual

Implements spla::OpBinary.

◆ get_type_res() [1/3]

template<typename A0 , typename R >
ref_ptr< Type > spla::TOpUnary< A0, R >::get_type_res
overridevirtual

Implements spla::Op.

◆ get_type_res() [2/3]

template<typename A0 , typename A1 , typename R >
ref_ptr< Type > spla::TOpBinary< A0, A1, R >::get_type_res
overridevirtual

Implements spla::Op.

◆ get_type_res() [3/3]

template<typename A0 >
ref_ptr< Type > spla::TOpSelect< A0 >::get_type_res
overridevirtual

Implements spla::Op.

◆ get_uint() [1/4]

template<typename T >
Status spla::TScalar< T >::get_uint ( std::uint32_t &  value)
overridevirtual

Implements spla::Scalar.

◆ get_uint() [2/4]

template<typename T >
Status spla::TArray< T >::get_uint ( uint  i,
T_UINT value 
)
overridevirtual

Implements spla::Array.

◆ get_uint() [3/4]

template<typename T >
Status spla::TMatrix< T >::get_uint ( uint  row_id,
uint  col_id,
uint32_t &  value 
)
override

◆ get_uint() [4/4]

template<typename T >
Status spla::TVector< T >::get_uint ( uint  row_id,
uint32_t &  value 
)
override

◆ get_value() [1/2]

template<typename T >
T & spla::TScalar< T >::get_value

◆ get_value() [2/2]

template<typename T >
T spla::TScalar< T >::get_value

◆ hash_combine()

template<class T >
void spla::hash_combine ( std::size_t &  seed,
const T &  v 
)
inline

◆ is_valid() [1/2]

template<typename T >
bool spla::TMatrix< T >::is_valid ( FormatMatrix  format) const

◆ is_valid() [2/2]

template<typename T >
bool spla::TVector< T >::is_valid ( FormatVector  format) const

◆ make_type()

template<typename T >
ref_ptr< Type > spla::TType< T >::make_type ( std::string  name,
std::string  code,
std::string  cpp,
std::string  desc,
int  id 
)
static

◆ read() [1/3]

template<typename T >
Status spla::TVector< T >::read ( ref_ptr< MemView > &  keys,
ref_ptr< MemView > &  values 
)
overridevirtual

Implements spla::Vector.

◆ read() [2/3]

template<typename T >
Status spla::TMatrix< T >::read ( ref_ptr< MemView > &  keys1,
ref_ptr< MemView > &  keys2,
ref_ptr< MemView > &  values 
)
overridevirtual

Implements spla::Matrix.

◆ read() [3/3]

template<typename T >
Status spla::TArray< T >::read ( ref_ptr< MemView > &  view)
overridevirtual

Implements spla::Array.

◆ register_algo_cl()

void spla::register_algo_cl ( class Registry g_registry)

Register all opencl-specific algorithms.

Parameters
g_registryWhere to register algorithms

◆ register_algo_cpu()

void spla::register_algo_cpu ( class Registry g_registry)

Register all cpu-specific algorithms.

Parameters
g_registryWhere to register algorithms

◆ register_constructor()

template<typename T , typename F , int capacity>
void spla::StorageManager< T, F, capacity >::register_constructor ( format,
StorageManager< T, F, capacity >::Function  function 
)

◆ register_converter()

template<typename T , typename F , int capacity>
void spla::StorageManager< T, F, capacity >::register_converter ( from,
to,
StorageManager< T, F, capacity >::Function  function 
)

◆ register_discard()

template<typename T , typename F , int capacity>
void spla::StorageManager< T, F, capacity >::register_discard ( format,
StorageManager< T, F, capacity >::Function  function 
)

◆ register_ops()

void spla::register_ops ( )

Register all ops on library initialization.

◆ register_validator()

template<typename T , typename F , int capacity>
void spla::StorageManager< T, F, capacity >::register_validator ( format,
StorageManager< T, F, capacity >::Function  function 
)

◆ register_validator_discard()

template<typename T , typename F , int capacity>
void spla::StorageManager< T, F, capacity >::register_validator_discard ( format,
StorageManager< T, F, capacity >::Function  function 
)

◆ resize()

template<typename T >
Status spla::TArray< T >::resize ( uint  n_values)
overridevirtual

Implements spla::Array.

◆ set_fill_value() [1/2]

template<typename T >
Status spla::TMatrix< T >::set_fill_value ( const ref_ptr< Scalar > &  value)
overridevirtual

Implements spla::Matrix.

◆ set_fill_value() [2/2]

template<typename T >
Status spla::TVector< T >::set_fill_value ( const ref_ptr< Scalar > &  value)
overridevirtual

Implements spla::Vector.

◆ set_float() [1/4]

template<typename T >
Status spla::TScalar< T >::set_float ( float  value)
overridevirtual

Implements spla::Scalar.

◆ set_float() [2/4]

template<typename T >
Status spla::TArray< T >::set_float ( uint  i,
T_FLOAT  value 
)
overridevirtual

Implements spla::Array.

◆ set_float() [3/4]

template<typename T >
Status spla::TVector< T >::set_float ( uint  row_id,
float  value 
)
overridevirtual

Implements spla::Vector.

◆ set_float() [4/4]

template<typename T >
Status spla::TMatrix< T >::set_float ( uint  row_id,
uint  col_id,
float  value 
)
overridevirtual

Implements spla::Matrix.

◆ set_format() [1/2]

template<typename T >
Status spla::TMatrix< T >::set_format ( FormatMatrix  format)
overridevirtual

Implements spla::Matrix.

◆ set_format() [2/2]

template<typename T >
Status spla::TVector< T >::set_format ( FormatVector  format)
overridevirtual

Implements spla::Vector.

◆ set_int() [1/4]

template<typename T >
Status spla::TScalar< T >::set_int ( std::int32_t  value)
overridevirtual

Implements spla::Scalar.

◆ set_int() [2/4]

template<typename T >
Status spla::TArray< T >::set_int ( uint  i,
T_INT  value 
)
overridevirtual

Implements spla::Array.

◆ set_int() [3/4]

template<typename T >
Status spla::TVector< T >::set_int ( uint  row_id,
std::int32_t  value 
)
overridevirtual

Implements spla::Vector.

◆ set_int() [4/4]

template<typename T >
Status spla::TMatrix< T >::set_int ( uint  row_id,
uint  col_id,
std::int32_t  value 
)
overridevirtual

Implements spla::Matrix.

◆ set_label() [1/7]

template<typename T >
void spla::TArray< T >::set_label ( std::string  label)
overridevirtual

Implements spla::Object.

◆ set_label() [2/7]

template<typename T >
void spla::TMatrix< T >::set_label ( std::string  label)
overridevirtual

Implements spla::Object.

◆ set_label() [3/7]

template<typename A0 , typename R >
void spla::TOpUnary< A0, R >::set_label ( std::string  label)
overridevirtual

Implements spla::Object.

◆ set_label() [4/7]

template<typename A0 , typename A1 , typename R >
void spla::TOpBinary< A0, A1, R >::set_label ( std::string  label)
overridevirtual

Implements spla::Object.

◆ set_label() [5/7]

template<typename A0 >
void spla::TOpSelect< A0 >::set_label ( std::string  label)
overridevirtual

Implements spla::Object.

◆ set_label() [6/7]

template<typename T >
void spla::TScalar< T >::set_label ( std::string  label)
overridevirtual

Implements spla::Object.

◆ set_label() [7/7]

template<typename T >
void spla::TVector< T >::set_label ( std::string  label)
overridevirtual

Implements spla::Object.

◆ set_reduce() [1/2]

template<typename T >
Status spla::TMatrix< T >::set_reduce ( ref_ptr< OpBinary resolve_duplicates)
overridevirtual

Implements spla::Matrix.

◆ set_reduce() [2/2]

template<typename T >
Status spla::TVector< T >::set_reduce ( ref_ptr< OpBinary resolve_duplicates)
overridevirtual

Implements spla::Vector.

◆ set_uint() [1/4]

template<typename T >
Status spla::TScalar< T >::set_uint ( std::uint32_t  value)
overridevirtual

Implements spla::Scalar.

◆ set_uint() [2/4]

template<typename T >
Status spla::TArray< T >::set_uint ( uint  i,
T_UINT  value 
)
overridevirtual

Implements spla::Array.

◆ set_uint() [3/4]

template<typename T >
Status spla::TVector< T >::set_uint ( uint  row_id,
std::uint32_t  value 
)
overridevirtual

Implements spla::Vector.

◆ set_uint() [4/4]

template<typename T >
Status spla::TMatrix< T >::set_uint ( uint  row_id,
uint  col_id,
std::uint32_t  value 
)
overridevirtual

Implements spla::Matrix.

◆ StorageManager()

template<typename T , typename F , int capacity>
spla::StorageManager< T, F, capacity >::StorageManager
explicit

◆ TArray()

template<typename T >
spla::TArray< T >::TArray ( uint  n_values)
explicit

◆ TMatrix()

template<typename T >
spla::TMatrix< T >::TMatrix ( uint  n_rows,
uint  n_cols 
)

◆ TScalar()

template<typename T >
spla::TScalar< T >::TScalar ( value)
explicit

◆ TVector()

template<typename T >
spla::TVector< T >::TVector ( uint  n_rows)
explicit

◆ validate_ctor() [1/3]

template<typename T , typename F , int capacity>
void spla::StorageManager< T, F, capacity >::validate_ctor ( format,
Storage storage 
)

◆ validate_ctor() [2/3]

template<typename T >
void spla::TMatrix< T >::validate_ctor ( FormatMatrix  format)

◆ validate_ctor() [3/3]

template<typename T >
void spla::TVector< T >::validate_ctor ( FormatVector  format)

◆ validate_rw() [1/3]

template<typename T , typename F , int capacity>
void spla::StorageManager< T, F, capacity >::validate_rw ( format,
Storage storage 
)

◆ validate_rw() [2/3]

template<typename T >
void spla::TMatrix< T >::validate_rw ( FormatMatrix  format)

◆ validate_rw() [3/3]

template<typename T >
void spla::TVector< T >::validate_rw ( FormatVector  format)

◆ validate_rwd() [1/3]

template<typename T , typename F , int capacity>
void spla::StorageManager< T, F, capacity >::validate_rwd ( format,
Storage storage 
)

◆ validate_rwd() [2/3]

template<typename T >
void spla::TMatrix< T >::validate_rwd ( FormatMatrix  format)

◆ validate_rwd() [3/3]

template<typename T >
void spla::TVector< T >::validate_rwd ( FormatVector  format)

◆ validate_wd() [1/3]

template<typename T , typename F , int capacity>
void spla::StorageManager< T, F, capacity >::validate_wd ( format,
Storage storage 
)

◆ validate_wd() [2/3]

template<typename T >
void spla::TMatrix< T >::validate_wd ( FormatMatrix  format)

◆ validate_wd() [3/3]

template<typename T >
void spla::TVector< T >::validate_wd ( FormatVector  format)