KASKADE 7 development version
Classes | Namespaces | Functions
threadedMatrix.hh File Reference
#include <cmath>
#include <iostream>
#include <boost/timer/timer.hpp>
#include "dune/common/config.h"
#include <dune/istl/bcrsmatrix.hh>
#include <dune/istl/operators.hh>
#include "fem/firstless.hh"
#include "fem/fixdune.hh"
#include "linalg/dynamicMatrix.hh"
#include "utilities/duneInterface.hh"
#include "utilities/threading.hh"
#include "utilities/detailed_exception.hh"

Go to the source code of this file.

Classes

struct  Kaskade::ThreadedMatrixDetail::CopyMatrixToChunk< Entry, Matrix, symmetric, transposed, Index >
 
struct  Kaskade::ThreadedMatrixDetail::CopyMatrixToChunk< Entry, Matrix, true, transposed, Index >
 
struct  Kaskade::ThreadedMatrixDetail::CopyMatrixToChunk< Entry, Matrix, false, true, Index >
 
struct  Kaskade::ThreadedMatrixDetail::MatrixEntry< To, From, scalarsMatch >
 
struct  Kaskade::ThreadedMatrixDetail::MatrixEntry< To, From, typename std::is_same< typename To::field_type, typename From::field_type >::type >
 
struct  Kaskade::ThreadedMatrixDetail::MatrixEntry< Entry, Entry >
 
class  Kaskade::ThreadedMatrixDetail::CRSChunkPatternInfo< Index >
 A base class representing basic meta information about sparsity patterns of NUMA matrix chunks. More...
 
class  Kaskade::ThreadedMatrixDetail::CRSChunkPatternCreator< Index >
 A class supporting two-stage construction of sparsity patterns of NUMA matrix chunks. More...
 
class  Kaskade::ThreadedMatrixDetail::CRSChunkPattern< Index >
 This class maintains the sparsity structure of a couple of matrix rows (a NUMA matrix chunk). More...
 
class  Kaskade::ThreadedMatrixDetail::NumaBCRSMatrixConstRowIterator< Entry, Index >
 An iterator stepping through all entries in a row. More...
 
class  Kaskade::ThreadedMatrixDetail::NumaBCRSMatrixRowIterator< Entry, Index >
 
class  Kaskade::ThreadedMatrixDetail::NumaBCRSMatrixExpressionChunk< Arguments, Operation >
 
class  Kaskade::ThreadedMatrixDetail::NumaBCRSMatrixExpressionChunk< Arguments, Operation >::iterator
 
class  Kaskade::ThreadedMatrixDetail::NumaBCRSMatrixExpression< Arguments, Operation >
 
class  Kaskade::ThreadedMatrixDetail::CRSChunk< Entry, Index >
 This class stores a couple of compressed row storage rows in memory allocated locally on a NUMA node. More...
 
class  Kaskade::ThreadedMatrixDetail::NumaBCRSRow< Entry, Index >
 
class  Kaskade::ThreadedMatrixDetail::NumaBCRSMatrixConstIterator< Entry, Index >
 
class  Kaskade::ThreadedMatrixDetail::NumaBCRSMatrixIterator< Entry, Index >
 
class  Kaskade::NumaCRSPatternCreator< Index >
 A NUMA-aware creator for matrix sparsity patterns. More...
 
class  Kaskade::NumaCRSPattern< Index >
 A NUMA-aware compressed row storage sparsity pattern. More...
 
class  Kaskade::NumaBCRSMatrix< Entry, Index >
 A NUMA-aware compressed row storage matrix adhering mostly to the Dune ISTL interface (to complete...) More...
 

Namespaces

namespace  Kaskade
 
 
namespace  Kaskade::ThreadedMatrixDetail
 

Functions

template<class Target , class Source , class RowIndices , class ColIndices >
Target Kaskade::submatrix (Source const &A, RowIndices const &ri, ColIndices const &ci)
 
template<class Entry , class Allocator , class Index >
void Kaskade::ThreadedMatrixDetail::getRowCount (Dune::BCRSMatrix< Entry, Allocator > const &matrix, bool isTransposed, std::vector< Index > &rowCount)
 
template<class Entry , class Index2 , class Index >
void Kaskade::ThreadedMatrixDetail::getRowCount (NumaBCRSMatrix< Entry, Index2 > const &matrix, bool isTransposed, std::vector< Index > &rowCount)
 
template<class Entry , class Index , class Index2 >
void Kaskade::ThreadedMatrixDetail::getRowCount (MatrixAsTriplet< Entry, Index2 > const &matrix, bool isTransposed, std::vector< Index > &rowCount)
 
template<class Index , class Index2 >
NumaCRSPattern< Index > Kaskade::operator+ (NumaCRSPattern< Index > const &pa, NumaCRSPattern< Index2 > const &pb)
 
template<class Scalar , int n, class Index = size_t>
NumaBCRSMatrix< Dune::FieldMatrix< Scalar, n, n >, Index > Kaskade::sparseUnitMatrix (Index N)
 creates a unit matrix in NUMA block compressed row storage format More...
 
template<class Scalar , int n, int m, class Index = size_t>
NumaBCRSMatrix< Dune::FieldMatrix< Scalar, n, m >, Index > Kaskade::sparseZeroMatrix (Index N, Index M)
 creates a zero matrix in NUMA block compressed row storage format More...