Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Attributes | List of all members
Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace > Class Template Reference

#include <Stokhos_TiledCrsProductTensor.hpp>

Public Types

typedef ExecutionSpace execution_space
 
typedef int size_type
 
typedef ValueType value_type
 

Public Member Functions

 ~TiledCrsProductTensor ()
 
 TiledCrsProductTensor ()
 
 TiledCrsProductTensor (const TiledCrsProductTensor &rhs)
 
TiledCrsProductTensoroperator= (const TiledCrsProductTensor &rhs)
 
KOKKOS_INLINE_FUNCTION size_type dimension () const
 Dimension of the tensor. 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 max_num_rows () const
 Maximum number of rows in any tile. More...
 
KOKKOS_INLINE_FUNCTION size_type num_rows (size_type tile) const
 Number of rows in given tile. More...
 
KOKKOS_INLINE_FUNCTION const
size_type
entry_begin (size_type tile, size_type i) const
 Begin entries with a coordinate 'i'. More...
 
KOKKOS_INLINE_FUNCTION size_type entry_end (size_type tile, size_type i) const
 End entries with a coordinate 'i'. More...
 
KOKKOS_INLINE_FUNCTION const
size_type
row_map_ptr () const
 Return row_map ptr. More...
 
KOKKOS_INLINE_FUNCTION const
size_type
num_entry (size_type tile, 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 tile_size () const
 Number tiles. More...
 
KOKKOS_INLINE_FUNCTION size_type num_tiles () const
 Number tiles. More...
 
KOKKOS_INLINE_FUNCTION const
size_type
offset (const size_type entry, const size_type c) const
 Coordinate offset. More...
 
KOKKOS_INLINE_FUNCTION const
size_type
range (const size_type entry, const size_type c) const
 Coordinate range. More...
 

Static Public Member Functions

template<typename OrdinalType >
static TiledCrsProductTensor create (const Stokhos::ProductBasis< OrdinalType, ValueType > &basis, const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &Cijk, const Teuchos::ParameterList &params)
 

Static Public Attributes

static const size_type host_vectorsize = 2
 
static const bool use_intrinsics = false
 
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::LayoutRight layout_type
 
typedef Kokkos::View
< value_type[],
execution_space
vec_type
 
typedef Kokkos::View
< size_type[], execution_space
coord_array_type
 
typedef Kokkos::View
< size_type[][2],
Kokkos::LayoutLeft,
execution_space
coord2_array_type
 
typedef Kokkos::View
< size_type[][3],
execution_space
coord_offset_type
 
typedef Kokkos::View
< size_type[][3],
execution_space
coord_range_type
 
typedef Kokkos::View
< value_type[],
execution_space
value_array_type
 
typedef Kokkos::View
< size_type **, layout_type,
execution_space
entry_array_type
 
typedef Kokkos::View
< size_type **, layout_type,
execution_space
row_map_array_type
 
typedef Kokkos::View
< size_type[], execution_space
num_row_array_type
 

Private Attributes

coord_array_type m_coord
 
coord2_array_type m_coord2
 
coord_offset_type m_coord_offset
 
coord_range_type m_coord_range
 
value_array_type m_value
 
entry_array_type m_num_entry
 
row_map_array_type m_row_map
 
num_row_array_type m_num_rows
 
size_type m_dimension
 
size_type m_tile_size
 
size_type m_entry_max
 
size_type m_max_num_rows
 
size_type m_nnz
 
size_type m_flops
 

Detailed Description

template<typename ValueType, class ExecutionSpace>
class Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >

Definition at line 29 of file Stokhos_TiledCrsProductTensor.hpp.

Member Typedef Documentation

template<typename ValueType , class ExecutionSpace >
typedef ExecutionSpace Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::execution_space

Definition at line 32 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef int Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::size_type

Definition at line 33 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef ValueType Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::value_type

Definition at line 34 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::LayoutRight Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::layout_type
private

Definition at line 61 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::View< value_type[], execution_space > Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::vec_type
private

Definition at line 62 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::View< size_type[], execution_space > Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::coord_array_type
private

Definition at line 63 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::View< size_type[][2], Kokkos::LayoutLeft, execution_space > Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::coord2_array_type
private

Definition at line 64 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::View< size_type[][3], execution_space > Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::coord_offset_type
private

Definition at line 65 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::View< size_type[][3], execution_space > Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::coord_range_type
private

Definition at line 66 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::View< value_type[], execution_space > Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::value_array_type
private

Definition at line 67 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::View< size_type**, layout_type, execution_space > Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::entry_array_type
private

Definition at line 68 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::View< size_type**, layout_type, execution_space > Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::row_map_array_type
private

Definition at line 69 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
typedef Kokkos::View< size_type[], execution_space > Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::num_row_array_type
private

Definition at line 70 of file Stokhos_TiledCrsProductTensor.hpp.

Constructor & Destructor Documentation

template<typename ValueType , class ExecutionSpace >
Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::~TiledCrsProductTensor ( )
inline

Definition at line 90 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::TiledCrsProductTensor ( )
inline

Definition at line 93 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::TiledCrsProductTensor ( const TiledCrsProductTensor< ValueType, ExecutionSpace > &  rhs)
inline

Definition at line 110 of file Stokhos_TiledCrsProductTensor.hpp.

Member Function Documentation

template<typename ValueType , class ExecutionSpace >
TiledCrsProductTensor& Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::operator= ( const TiledCrsProductTensor< ValueType, ExecutionSpace > &  rhs)
inline

Definition at line 127 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::dimension ( ) const
inline

Dimension of the tensor.

Definition at line 148 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::entry_count ( ) const
inline

Number of sparse entries.

Definition at line 152 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::entry_maximum ( ) const
inline

Maximum sparse entries for any coordinate.

Definition at line 157 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::max_num_rows ( ) const
inline

Maximum number of rows in any tile.

Definition at line 162 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::num_rows ( size_type  tile) const
inline

Number of rows in given tile.

Definition at line 167 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION const size_type& Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::entry_begin ( size_type  tile,
size_type  i 
) const
inline

Begin entries with a coordinate 'i'.

Definition at line 172 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::entry_end ( size_type  tile,
size_type  i 
) const
inline

End entries with a coordinate 'i'.

Definition at line 177 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION const size_type* Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::row_map_ptr ( ) const
inline

Return row_map ptr.

Definition at line 182 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION const size_type& Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::num_entry ( size_type  tile,
size_type  i 
) const
inline

Number of entries with a coordinate 'i'.

Definition at line 187 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION const size_type& Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::coord ( const size_type  entry,
const size_type  c 
) const
inline

Coordinates of an entry.

Definition at line 192 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION const size_type& Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::coord ( const size_type  entry) const
inline

Coordinates of an entry.

Definition at line 197 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION const value_type& Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::value ( const size_type  entry) const
inline

Value of an entry.

Definition at line 202 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::num_non_zeros ( ) const
inline

Number of non-zero's.

Definition at line 207 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::num_flops ( ) const
inline

Number flop's per multiply-add.

Definition at line 212 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::tile_size ( ) const
inline

Number tiles.

Definition at line 217 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::num_tiles ( ) const
inline

Number tiles.

Definition at line 222 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION const size_type& Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::offset ( const size_type  entry,
const size_type  c 
) const
inline

Coordinate offset.

Definition at line 227 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
KOKKOS_INLINE_FUNCTION const size_type& Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::range ( const size_type  entry,
const size_type  c 
) const
inline

Coordinate range.

Definition at line 232 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
template<typename OrdinalType >
static TiledCrsProductTensor Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::create ( const Stokhos::ProductBasis< OrdinalType, ValueType > &  basis,
const Stokhos::Sparse3Tensor< OrdinalType, ValueType > &  Cijk,
const Teuchos::ParameterList params 
)
inlinestatic

Definition at line 237 of file Stokhos_TiledCrsProductTensor.hpp.

Member Data Documentation

template<typename ValueType , class ExecutionSpace >
const size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::host_vectorsize = 2
static

Definition at line 44 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
const bool Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::use_intrinsics = false
static

Definition at line 45 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
const size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::cuda_vectorsize = 32
static

Definition at line 47 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
const bool Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::is_cuda
static
Initial value:
=
false

Definition at line 48 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
const size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::vectorsize = is_cuda ? cuda_vectorsize : host_vectorsize
static

Definition at line 54 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
const size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::tensor_align = vectorsize
static

Definition at line 57 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
coord_array_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_coord
private

Definition at line 72 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
coord2_array_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_coord2
private

Definition at line 73 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
coord_offset_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_coord_offset
private

Definition at line 74 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
coord_range_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_coord_range
private

Definition at line 75 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
value_array_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_value
private

Definition at line 76 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
entry_array_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_num_entry
private

Definition at line 77 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
row_map_array_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_row_map
private

Definition at line 78 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
num_row_array_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_num_rows
private

Definition at line 79 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_dimension
private

Definition at line 80 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_tile_size
private

Definition at line 81 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_entry_max
private

Definition at line 82 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_max_num_rows
private

Definition at line 83 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_nnz
private

Definition at line 84 of file Stokhos_TiledCrsProductTensor.hpp.

template<typename ValueType , class ExecutionSpace >
size_type Stokhos::TiledCrsProductTensor< ValueType, ExecutionSpace >::m_flops
private

Definition at line 85 of file Stokhos_TiledCrsProductTensor.hpp.


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