|
Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
|
Sparse product tensor with replicated entries to provide subsets with a given coordinate. More...
#include <Stokhos_CrsProductTensor.hpp>

Classes | |
| struct | CijkRowCount |
| struct | CompareCijkRowCount |
Public Types | |
| typedef ExecutionSpace | execution_space |
| typedef int | size_type |
| typedef ValueType | value_type |
| typedef Memory | memory_type |
| typedef Kokkos::ViewTraits < size_type *, execution_space, void, void > ::host_mirror_space | host_mirror_space |
| typedef CrsProductTensor < value_type, host_mirror_space > | HostMirror |
Public Member Functions | |
| KOKKOS_INLINE_FUNCTION | ~CrsProductTensor () |
| KOKKOS_INLINE_FUNCTION | CrsProductTensor () |
| template<class M > | |
| KOKKOS_INLINE_FUNCTION | CrsProductTensor (const CrsProductTensor< value_type, execution_space, M > &rhs) |
| template<class M > | |
| KOKKOS_INLINE_FUNCTION CrsProductTensor & | operator= (const CrsProductTensor< value_type, execution_space, M > &rhs) |
| KOKKOS_INLINE_FUNCTION size_type | dimension () const |
| Dimension of the tensor. More... | |
| KOKKOS_INLINE_FUNCTION bool | is_empty () const |
| Is the tensor empty. More... | |
| KOKKOS_INLINE_FUNCTION size_type | entry_count () const |
| Number of sparse entries. More... | |
| KOKKOS_INLINE_FUNCTION size_type | entry_maximum () const |
| Maximum sparse entries for any coordinate. More... | |
| KOKKOS_INLINE_FUNCTION size_type | entry_begin (size_type i) const |
| Begin entries with a coordinate 'i'. More... | |
| KOKKOS_INLINE_FUNCTION size_type | entry_end (size_type i) const |
| End entries with a coordinate 'i'. More... | |
| KOKKOS_INLINE_FUNCTION size_type | num_entry (size_type i) const |
| Number of entries with a coordinate 'i'. More... | |
| KOKKOS_INLINE_FUNCTION const size_type & | coord (const size_type entry, const size_type c) const |
| Coordinates of an entry. More... | |
| KOKKOS_INLINE_FUNCTION const size_type & | coord (const size_type entry) const |
| Coordinates of an entry. More... | |
| KOKKOS_INLINE_FUNCTION const value_type & | value (const size_type entry) const |
| Value of an entry. More... | |
| KOKKOS_INLINE_FUNCTION size_type | num_non_zeros () const |
| Number of non-zero's. More... | |
| KOKKOS_INLINE_FUNCTION size_type | num_flops () const |
| Number flop's per multiply-add. More... | |
| KOKKOS_INLINE_FUNCTION size_type | avg_entries_per_row () const |
| Number average number of entries per row. More... | |
Static Public Member Functions | |
| template<typename OrdinalType > | |
| static CrsProductTensor | create (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList ¶ms=Teuchos::ParameterList()) |
| static CrsProductTensor | createMeanBased () |
| static HostMirror | create_mirror_view (const CrsProductTensor &tensor) |
| template<class DstDevice , class DstMemory > | |
| static void | deep_copy (const CrsProductTensor< ValueType, DstDevice, DstMemory > &dst, const CrsProductTensor &src) |
Static Public Attributes | |
| static const size_type | host_vectorsize = 2 |
| static const bool | use_intrinsics = false |
| static const size_type | num_entry_align = 1 |
| static const size_type | cuda_vectorsize = 32 |
| static const bool | is_cuda |
| static const size_type | vectorsize = is_cuda ? cuda_vectorsize : host_vectorsize |
| static const size_type | tensor_align = vectorsize |
Private Types | |
| typedef Kokkos::View < value_type *, Kokkos::LayoutLeft, execution_space, memory_type > | vec_type |
| typedef Kokkos::View < size_type *, Kokkos::LayoutLeft, execution_space, memory_type > | coord_array_type |
| typedef Kokkos::View < size_type *[2], Kokkos::LayoutLeft, execution_space, memory_type > | coord2_array_type |
| typedef Kokkos::View < value_type *, Kokkos::LayoutLeft, execution_space, memory_type > | value_array_type |
| typedef Kokkos::View < size_type *, Kokkos::LayoutLeft, execution_space, memory_type > | entry_array_type |
| typedef Kokkos::View < size_type *, Kokkos::LayoutLeft, execution_space, memory_type > | row_map_array_type |
Friends | |
| template<class , class , class > | |
| class | CrsProductTensor |
Sparse product tensor with replicated entries to provide subsets with a given coordinate.
This allows product tensor multiplication to be partitioned on a given coordinate values.
for ( size_type i = 0 ; i < p.dimension() ; ++i ) { y[i] = 0 ; for ( size_type e = p.entry_begin(i) ; e < p.entry_end(i) ; ++e ) { const size_type j = p.coord(e,0); const size_type k = p.coord(e,1); Scalar tmp = a[j] * x[k] ; if ( j != k ) tmp += a[k] * x[j] ; y[i] += p.value(e) * tmp ; } }
Definition at line 80 of file Stokhos_CrsProductTensor.hpp.
| typedef ExecutionSpace Stokhos::CrsProductTensor< ValueType, ExecutionSpace, Memory >::execution_space |
Definition at line 83 of file Stokhos_CrsProductTensor.hpp.
| typedef int Stokhos::CrsProductTensor< ValueType, ExecutionSpace, Memory >::size_type |
Definition at line 84 of file Stokhos_CrsProductTensor.hpp.
| typedef ValueType Stokhos::CrsProductTensor< ValueType, ExecutionSpace, Memory >::value_type |
Definition at line 85 of file Stokhos_CrsProductTensor.hpp.
| typedef Memory Stokhos::CrsProductTensor< ValueType, ExecutionSpace, Memory >::memory_type |
Definition at line 86 of file Stokhos_CrsProductTensor.hpp.
| typedef Kokkos::ViewTraits< size_type*, execution_space,void,void >::host_mirror_space Stokhos::CrsProductTensor< ValueType, ExecutionSpace, Memory >::host_mirror_space |
Definition at line 88 of file Stokhos_CrsProductTensor.hpp.
| typedef CrsProductTensor<value_type, host_mirror_space> Stokhos::CrsProductTensor< ValueType, ExecutionSpace, Memory >::HostMirror |
Definition at line 89 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 121 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 122 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 123 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 124 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 125 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 126 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Definition at line 158 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Definition at line 161 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Definition at line 175 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Definition at line 190 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Dimension of the tensor.
Definition at line 207 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Is the tensor empty.
Definition at line 211 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Number of sparse entries.
Definition at line 215 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Maximum sparse entries for any coordinate.
Definition at line 220 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Begin entries with a coordinate 'i'.
Definition at line 225 of file Stokhos_CrsProductTensor.hpp.
|
inline |
End entries with a coordinate 'i'.
Definition at line 230 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Number of entries with a coordinate 'i'.
Definition at line 235 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Coordinates of an entry.
Definition at line 240 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Coordinates of an entry.
Definition at line 245 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Value of an entry.
Definition at line 250 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Number of non-zero's.
Definition at line 255 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Number flop's per multiply-add.
Definition at line 260 of file Stokhos_CrsProductTensor.hpp.
|
inline |
Number average number of entries per row.
Definition at line 265 of file Stokhos_CrsProductTensor.hpp.
|
inlinestatic |
Definition at line 270 of file Stokhos_CrsProductTensor.hpp.
|
inlinestatic |
Definition at line 426 of file Stokhos_CrsProductTensor.hpp.
|
inlinestatic |
Definition at line 483 of file Stokhos_CrsProductTensor.hpp.
|
inlinestatic |
Definition at line 503 of file Stokhos_CrsProductTensor.hpp.
|
friend |
Definition at line 119 of file Stokhos_CrsProductTensor.hpp.
|
static |
Definition at line 101 of file Stokhos_CrsProductTensor.hpp.
|
static |
Definition at line 102 of file Stokhos_CrsProductTensor.hpp.
|
static |
Definition at line 103 of file Stokhos_CrsProductTensor.hpp.
|
static |
Definition at line 105 of file Stokhos_CrsProductTensor.hpp.
|
static |
Definition at line 106 of file Stokhos_CrsProductTensor.hpp.
|
static |
Definition at line 112 of file Stokhos_CrsProductTensor.hpp.
|
static |
Definition at line 115 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 128 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 129 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 130 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 131 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 132 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 133 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 134 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 135 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 136 of file Stokhos_CrsProductTensor.hpp.
|
private |
Definition at line 137 of file Stokhos_CrsProductTensor.hpp.
1.8.5