Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Public Types | Public Member Functions
TSQR::CacheBlockRange< MatrixViewType > Class Template Reference

Collection of cache blocks with a contiguous range of indices. More...

#include <Tsqr_CacheBlocker.hpp>

List of all members.

Public Types

typedef
CacheBlockRangeIterator
< MatrixViewType > 
iterator
 Type of an iterator over the range of cache blocks.

Public Member Functions

 CacheBlockRange (MatrixViewType A, const CacheBlockingStrategy< ordinal_type, scalar_type > &strategy, const ordinal_type startIndex, const ordinal_type endIndex, const bool contiguousCacheBlocks)
 Constructor.

Detailed Description

template<class MatrixViewType>
class TSQR::CacheBlockRange< MatrixViewType >

Collection of cache blocks with a contiguous range of indices.

Author:
Mark Hoemmen

We mean "collection" in the C++ sense: you can iterate over the elements using iterators. The iterators are valid only when the CacheBlockRange is in scope, just like the iterators of std::vector.

CacheBlockRange is useful for KokkosNodeTsqr, in particular for FactorFirstPass and ApplyFirstPass. Sequential TSQR's factorization is forward iteration over the collection, and applying the Q factor or computing the explicit Q factor is iteration in the reverse direction (decreasing cache block index).

This class is templated so that it works with either a MatView or a ConstMatView.

Definition at line 617 of file Tsqr_CacheBlocker.hpp.


Member Typedef Documentation

template<class MatrixViewType>
TSQR::CacheBlockRange< MatrixViewType >::iterator

Type of an iterator over the range of cache blocks.

Definition at line 625 of file Tsqr_CacheBlocker.hpp.


Constructor & Destructor Documentation

template<class MatrixViewType>
TSQR::CacheBlockRange< MatrixViewType >::CacheBlockRange ( MatrixViewType  A,
const CacheBlockingStrategy< ordinal_type, scalar_type > &  strategy,
const ordinal_type  startIndex,
const ordinal_type  endIndex,
const bool  contiguousCacheBlocks 
) [inline]

Constructor.

Parameters:
A[in] View of the matrix to factor.
strategy[in] Cache blocking strategy to use (copied on input).
startIndex[in] Starting index of the cache block sequence.
endIndex[in] Ending index (exclusive) of the cache block sequence. Precondition: startIndex <= endIndex. If startIndex == endIndex, the sequence is empty.
contiguousCacheBlocks[in] Whether cache blocks in the matrix A are stored contiguously.

Definition at line 639 of file Tsqr_CacheBlocker.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends