Tpetra parallel linear algebra
Version of the Day
|
Linear algebra kernels for small dense matrices and vectors. More...
#include "TpetraCore_config.h"
#include "Kokkos_ArithTraits.hpp"
#include "Kokkos_Complex.hpp"
Go to the source code of this file.
Namespaces | |
Tpetra | |
Namespace Tpetra contains the class and methods constituting the Tpetra library. | |
Tpetra::Impl | |
Namespace for new Tpetra features that are not ready for public release, but are ready for evaluation by friendly expert users. | |
Functions | |
template<class ViewType1 , class ViewType2 , const int rank = ViewType1::rank> | |
KOKKOS_INLINE_FUNCTION void | Tpetra::Impl::absMax (const ViewType2 &Y, const ViewType1 &X) |
Implementation of Tpetra's ABSMAX CombineMode for the small dense blocks in BlockCrsMatrix, and the small dense vectors in BlockMultiVector and BlockVector. More... | |
template<class ViewType , class CoefficientType , class LayoutType = typename ViewType::array_layout, class IndexType = int, const int rank = ViewType::rank> | |
KOKKOS_INLINE_FUNCTION void | Tpetra::SCAL (const CoefficientType &alpha, const ViewType &x) |
x := alpha*x, where x is either rank 1 (a vector) or rank 2 (a matrix). More... | |
template<class ViewType , class InputType , class LayoutType = typename ViewType::array_layout, class IndexType = int, const int rank = ViewType::rank> | |
KOKKOS_INLINE_FUNCTION void | Tpetra::FILL (const ViewType &x, const InputType &val) |
Set every entry of x to val. More... | |
template<class CoefficientType , class ViewType1 , class ViewType2 , class LayoutType1 = typename ViewType1::array_layout, class LayoutType2 = typename ViewType2::array_layout, class IndexType = int, const int rank = ViewType1::rank> | |
KOKKOS_INLINE_FUNCTION void | Tpetra::AXPY (const CoefficientType &alpha, const ViewType1 &x, const ViewType2 &y) |
y := y + alpha * x (dense vector or matrix update) More... | |
template<class ViewType1 , class ViewType2 , class LayoutType1 = typename ViewType1::array_layout, class LayoutType2 = typename ViewType2::array_layout, class IndexType = int, const int rank = ViewType1::rank> | |
KOKKOS_INLINE_FUNCTION void | Tpetra::COPY (const ViewType1 &x, const ViewType2 &y) |
Deep copy x into y, where x and y are either rank 1 (vectors) or rank 2 (matrices) with the same dimension(s). More... | |
template<class VecType1 , class BlkType , class VecType2 , class CoeffType , class IndexType = int> | |
KOKKOS_INLINE_FUNCTION void | Tpetra::GEMV (const CoeffType &alpha, const BlkType &A, const VecType1 &x, const VecType2 &y) |
y := y + alpha * A * x (dense matrix-vector multiply) More... | |
template<class ViewType1 , class ViewType2 , class ViewType3 , class CoefficientType , class IndexType = int> | |
KOKKOS_INLINE_FUNCTION void | Tpetra::GEMM (const char transA[], const char transB[], const CoefficientType &alpha, const ViewType1 &A, const ViewType2 &B, const CoefficientType &beta, const ViewType3 &C) |
Small dense matrix-matrix multiply: C := alpha*A*B + beta*C More... | |
template<class LittleBlockType , class LittleVectorType > | |
KOKKOS_INLINE_FUNCTION void | Tpetra::GETF2 (const LittleBlockType &A, const LittleVectorType &ipiv, int &info) |
Computes A = P*L*U. More... | |
template<class LittleBlockType , class LittleIntVectorType , class LittleScalarVectorType > | |
KOKKOS_INLINE_FUNCTION void | Tpetra::GETRS (const char mode[], const LittleBlockType &A, const LittleIntVectorType &ipiv, const LittleScalarVectorType &B, int &info) |
Solve the linear system(s) AX=B, using the result of GETRF or GETF2. More... | |
template<class LittleBlockType , class LittleIntVectorType , class LittleScalarVectorType > | |
KOKKOS_INLINE_FUNCTION void | Tpetra::GETRI (const LittleBlockType &A, const LittleIntVectorType &ipiv, const LittleScalarVectorType &work, int &info) |
Compute inverse of A, using result of GETRF or GETF2. More... | |
Linear algebra kernels for small dense matrices and vectors.
This file declares and defines generic computational kernels for small dense linear algebra operations, with matrices and vectors stored as Kokkos::View. The operations are meant as helpers for Tpetra::BlockCrsMatrix.
Definition in file Tpetra_BlockView.hpp.