ViennaCL - The Vienna Computing Library  1.6.1
Free open-source GPU-accelerated linear algebra and solver library.
viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 > Class Template Reference

A class for the matrix slicing for parallel coarsening schemes (RS0/RS3). More...

#include <amg_base.hpp>

Public Member Functions

void init (unsigned int levels, unsigned int threads=0)
 
void slice (unsigned int level, InternalT1 const &A, InternalT2 const &pointvector)
 
void join (unsigned int level, InternalT2 &pointvector) const
 

Public Attributes

boost::numeric::ublas::vector< InternalT1 > A_slice_
 
boost::numeric::ublas::vector< InternalT2 > pointvector_slice_
 
boost::numeric::ublas::vector< boost::numeric::ublas::vector< unsigned int > > offset_
 
unsigned int threads_
 
unsigned int levels_
 

Detailed Description

template<typename InternalT1, typename InternalT2>
class viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 >

A class for the matrix slicing for parallel coarsening schemes (RS0/RS3).

Holds information on a per-processor basis and offers functionality to slice and join the data structures.

Definition at line 1164 of file amg_base.hpp.

Member Function Documentation

template<typename InternalT1, typename InternalT2>
void viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 >::init ( unsigned int  levels,
unsigned int  threads = 0 
)
inline

Definition at line 1179 of file amg_base.hpp.

template<typename InternalT1, typename InternalT2>
void viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 >::join ( unsigned int  level,
InternalT2 &  pointvector 
) const
inline

Definition at line 1222 of file amg_base.hpp.

template<typename InternalT1, typename InternalT2>
void viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 >::slice ( unsigned int  level,
InternalT1 const &  A,
InternalT2 const &  pointvector 
)
inline

Definition at line 1209 of file amg_base.hpp.

Member Data Documentation

template<typename InternalT1, typename InternalT2>
boost::numeric::ublas::vector<InternalT1> viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 >::A_slice_

Definition at line 1171 of file amg_base.hpp.

template<typename InternalT1, typename InternalT2>
unsigned int viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 >::levels_

Definition at line 1177 of file amg_base.hpp.

template<typename InternalT1, typename InternalT2>
boost::numeric::ublas::vector<boost::numeric::ublas::vector<unsigned int> > viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 >::offset_

Definition at line 1174 of file amg_base.hpp.

template<typename InternalT1, typename InternalT2>
boost::numeric::ublas::vector<InternalT2> viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 >::pointvector_slice_

Definition at line 1172 of file amg_base.hpp.

template<typename InternalT1, typename InternalT2>
unsigned int viennacl::linalg::detail::amg::amg_slicing< InternalT1, InternalT2 >::threads_

Definition at line 1176 of file amg_base.hpp.


The documentation for this class was generated from the following file: