Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
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.
 
KOKKOS_INLINE_FUNCTION size_type entry_count () const
 Number of sparse entries.
 
KOKKOS_INLINE_FUNCTION size_type entry_maximum () const
 Maximum sparse entries for any coordinate.
 
KOKKOS_INLINE_FUNCTION size_type max_num_rows () const
 Maximum number of rows in any tile.
 
KOKKOS_INLINE_FUNCTION size_type num_rows (size_type tile) const
 Number of rows in given tile.
 
KOKKOS_INLINE_FUNCTION const size_typeentry_begin (size_type tile, size_type i) const
 Begin entries with a coordinate 'i'.
 
KOKKOS_INLINE_FUNCTION size_type entry_end (size_type tile, size_type i) const
 End entries with a coordinate 'i'.
 
KOKKOS_INLINE_FUNCTION const size_typerow_map_ptr () const
 Return row_map ptr.
 
KOKKOS_INLINE_FUNCTION const size_typenum_entry (size_type tile, size_type i) const
 Number of entries with a coordinate 'i'.
 
KOKKOS_INLINE_FUNCTION const size_typecoord (const size_type entry, const size_type c) const
 Coordinates of an entry.
 
KOKKOS_INLINE_FUNCTION const size_typecoord (const size_type entry) const
 Coordinates of an entry.
 
KOKKOS_INLINE_FUNCTION const value_typevalue (const size_type entry) const
 Value of an entry.
 
KOKKOS_INLINE_FUNCTION size_type num_non_zeros () const
 Number of non-zero's.
 
KOKKOS_INLINE_FUNCTION size_type num_flops () const
 Number flop's per multiply-add.
 
KOKKOS_INLINE_FUNCTION size_type tile_size () const
 Number tiles.
 
KOKKOS_INLINE_FUNCTION size_type num_tiles () const
 Number tiles.
 
KOKKOS_INLINE_FUNCTION const size_typeoffset (const size_type entry, const size_type c) const
 Coordinate offset.
 
KOKKOS_INLINE_FUNCTION const size_typerange (const size_type entry, const size_type c) const
 Coordinate range.
 

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_spacevec_type
 
typedef Kokkos::View< size_type[], execution_spacecoord_array_type
 
typedef Kokkos::View< size_type[][2], Kokkos::LayoutLeft, execution_spacecoord2_array_type
 
typedef Kokkos::View< size_type[][3], execution_spacecoord_offset_type
 
typedef Kokkos::View< size_type[][3], execution_spacecoord_range_type
 
typedef Kokkos::View< value_type[], execution_spacevalue_array_type
 
typedef Kokkos::View< size_type **, layout_type, execution_spaceentry_array_type
 
typedef Kokkos::View< size_type **, layout_type, execution_spacerow_map_array_type
 
typedef Kokkos::View< size_type[], execution_spacenum_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 61 of file Stokhos_TiledCrsProductTensor.hpp.

Member Typedef Documentation

◆ execution_space

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

Definition at line 64 of file Stokhos_TiledCrsProductTensor.hpp.

◆ size_type

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

Definition at line 65 of file Stokhos_TiledCrsProductTensor.hpp.

◆ value_type

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

Definition at line 66 of file Stokhos_TiledCrsProductTensor.hpp.

◆ layout_type

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

Definition at line 93 of file Stokhos_TiledCrsProductTensor.hpp.

◆ vec_type

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

Definition at line 94 of file Stokhos_TiledCrsProductTensor.hpp.

◆ coord_array_type

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

Definition at line 95 of file Stokhos_TiledCrsProductTensor.hpp.

◆ coord2_array_type

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 96 of file Stokhos_TiledCrsProductTensor.hpp.

◆ coord_offset_type

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

Definition at line 97 of file Stokhos_TiledCrsProductTensor.hpp.

◆ coord_range_type

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

Definition at line 98 of file Stokhos_TiledCrsProductTensor.hpp.

◆ value_array_type

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

Definition at line 99 of file Stokhos_TiledCrsProductTensor.hpp.

◆ entry_array_type

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 100 of file Stokhos_TiledCrsProductTensor.hpp.

◆ row_map_array_type

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 101 of file Stokhos_TiledCrsProductTensor.hpp.

◆ num_row_array_type

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

Definition at line 102 of file Stokhos_TiledCrsProductTensor.hpp.

Constructor & Destructor Documentation

◆ ~TiledCrsProductTensor()

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

Definition at line 122 of file Stokhos_TiledCrsProductTensor.hpp.

◆ TiledCrsProductTensor() [1/2]

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

Definition at line 125 of file Stokhos_TiledCrsProductTensor.hpp.

◆ TiledCrsProductTensor() [2/2]

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

Definition at line 142 of file Stokhos_TiledCrsProductTensor.hpp.

Member Function Documentation

◆ operator=()

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

Definition at line 159 of file Stokhos_TiledCrsProductTensor.hpp.

◆ dimension()

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

Dimension of the tensor.

Definition at line 180 of file Stokhos_TiledCrsProductTensor.hpp.

◆ entry_count()

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 184 of file Stokhos_TiledCrsProductTensor.hpp.

◆ entry_maximum()

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 189 of file Stokhos_TiledCrsProductTensor.hpp.

◆ max_num_rows()

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 194 of file Stokhos_TiledCrsProductTensor.hpp.

◆ num_rows()

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 199 of file Stokhos_TiledCrsProductTensor.hpp.

◆ entry_begin()

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 204 of file Stokhos_TiledCrsProductTensor.hpp.

◆ entry_end()

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 209 of file Stokhos_TiledCrsProductTensor.hpp.

◆ row_map_ptr()

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 214 of file Stokhos_TiledCrsProductTensor.hpp.

◆ num_entry()

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 219 of file Stokhos_TiledCrsProductTensor.hpp.

◆ coord() [1/2]

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 224 of file Stokhos_TiledCrsProductTensor.hpp.

◆ coord() [2/2]

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 229 of file Stokhos_TiledCrsProductTensor.hpp.

◆ value()

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 234 of file Stokhos_TiledCrsProductTensor.hpp.

◆ num_non_zeros()

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 239 of file Stokhos_TiledCrsProductTensor.hpp.

◆ num_flops()

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 244 of file Stokhos_TiledCrsProductTensor.hpp.

◆ tile_size()

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

Number tiles.

Definition at line 249 of file Stokhos_TiledCrsProductTensor.hpp.

◆ num_tiles()

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

Number tiles.

Definition at line 254 of file Stokhos_TiledCrsProductTensor.hpp.

◆ offset()

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 259 of file Stokhos_TiledCrsProductTensor.hpp.

◆ range()

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 264 of file Stokhos_TiledCrsProductTensor.hpp.

◆ create()

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 269 of file Stokhos_TiledCrsProductTensor.hpp.

Member Data Documentation

◆ host_vectorsize

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

Definition at line 76 of file Stokhos_TiledCrsProductTensor.hpp.

◆ use_intrinsics

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

Definition at line 77 of file Stokhos_TiledCrsProductTensor.hpp.

◆ cuda_vectorsize

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

Definition at line 79 of file Stokhos_TiledCrsProductTensor.hpp.

◆ is_cuda

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

Definition at line 80 of file Stokhos_TiledCrsProductTensor.hpp.

◆ vectorsize

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

Definition at line 86 of file Stokhos_TiledCrsProductTensor.hpp.

◆ tensor_align

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

Definition at line 89 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_coord

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

Definition at line 104 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_coord2

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

Definition at line 105 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_coord_offset

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

Definition at line 106 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_coord_range

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

Definition at line 107 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_value

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

Definition at line 108 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_num_entry

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

Definition at line 109 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_row_map

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

Definition at line 110 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_num_rows

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

Definition at line 111 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_dimension

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

Definition at line 112 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_tile_size

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

Definition at line 113 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_entry_max

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

Definition at line 114 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_max_num_rows

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

Definition at line 115 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_nnz

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

Definition at line 116 of file Stokhos_TiledCrsProductTensor.hpp.

◆ m_flops

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

Definition at line 117 of file Stokhos_TiledCrsProductTensor.hpp.


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