|
Kokkos Node API and Local Linear Algebra Kernels Version of the Day
|
Namespace Kokkos contains the nodes, helpers, linear algebra objects and kernels that constitute the Kokkos package. More...
Classes | |
| class | CrsGraphHostCompute |
| A default host-resident, host-compute compressed-row sparse graph. More... | |
| class | CrsGraphDeviceCompute |
| A default device-compute compressed-row sparse graph.This is externally identical to the host-based graph; in fact, it derives from CrsGraphHostCompute. The difference is that that it contains additional storage and logic for device-bound compute buffers, and it over-rides finalize() to fill these. More... | |
| class | FirstTouchHostCrsGraph |
| A host-compute compressed-row sparse graph with first-touch allocation. More... | |
| class | FirstTouchCopyIndicesKernel |
| class | CrsGraph |
| Kokkos compressed-row sparse graph class.Default specialization is a host-bound CrsGraphHostCompute object. More... | |
| class | CrsMatrixHostCompute |
| A compressed-row sparse matrix that lives in host memory. More... | |
| class | CrsMatrixDeviceCompute |
| A compressed-row sparse matrix stored on a device.This is externally identical to the host-based matrix; in fact, it derives from CrsMatrixHostCompute. The difference is that that it contains additional storage and logic for device-bound compute buffers. More... | |
| class | FirstTouchHostCrsMatrix |
| A host-compute compressed-row sparse matrix with first-touch allocation. More... | |
| class | CrsMatrix |
| Kokkos compressed-row sparse matrix class. More... | |
| class | CUSPSparseOps |
| Access to sparse matrix multiply and solve using the CUSP project. More... | |
| class | DefaultArithmetic |
| A traits class providing a generic arithmetic interface for vectors and multivectors. More... | |
| class | DefaultArithmetic< MultiVector< Scalar, Node > > |
| Partial specialization of class DefaultArithmetic for MultiVector<Scalar,Node> More... | |
| class | DefaultBlockSparseOps |
| DefaultBlockSparseOps. More... | |
| struct | DefaultKernels |
| Traits class providing default kernel types for CRS, block CRS and relaxation kernels. More... | |
| class | DefaultRelaxation |
| Various relaxation methods. More... | |
| class | DefaultHostSparseOps |
| Default implementation of sparse matrix-vector multiply and solve routines, for host-based Kokkos Node types. More... | |
| class | DefaultDeviceSparseOps |
| Default implementation of sparse matrix-vector multiplication and solve routines, for device-based nodes. More... | |
| class | MultiVector |
| Data structure for vector and multivector data. More... | |
| class | PackedSparseMultiply |
| PackedSparseMultiply: A reference class for computing sparse matrix multiplication operations. More... | |
| class | VbrMatrix |
| Kokkos variable block row matrix class. More... | |
| class | CUDANodeMemoryModel |
| A default implementation of the Node memory architecture for Node with a distinct device memory space allocated by the CUDA runtime. More... | |
| class | CUDANodeCopyBackDeallocator |
| Allocator/deallocator with host/device copy-back capability. More... | |
| class | DefaultNode |
| Class to specify Kokkos default node type and instantiate the default node. More... | |
| class | ReadyBufferHelper |
| A class to assist in readying buffers via the Node::readyBuffers() method. More... | |
| class | ArrayOfViewsHelper |
| Helper class for getting an array of views. More... | |
| class | ArrayOfViewsHelperTrivialImpl |
| A trivial implementation of ArrayOfViewsHelper, for CPU-only nodes. More... | |
| class | SerialNode |
| Kokkos node interface for a serial, CPU node. More... | |
| class | StandardNodeMemoryModel |
| A default implementation of the Node memory architecture for a single memory space allocated by standard library calls. More... | |
| class | TBBNode |
| Kokkos node interface to the Intel Threading Building Blocks threading library. More... | |
| class | ThrustGPUNode |
| Kokkos node interface to the Thrust library for NVIDIA CUDA-capable GPUs. More... | |
| class | TPINode |
| Kokkos node interface to the ThreadPool threading library. More... | |
Enumerations | |
| enum | ReadWriteOption { ReadWrite, WriteOnly } |
Functions | |
| template<class Scalar , class Ordinal , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | densematvec (Ordinal Nrows, Ordinal Ncols, RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
| template<class Scalar , class Ordinal , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | densematvec_skipdiag (Ordinal N, RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
| template<class Scalar , class Ordinal , class RangeScalar > | |
| KERNEL_PREFIX void | solve_block_upper (Ordinal N, const Scalar *A, RangeScalar *y) |
| template<class Scalar , class Ordinal , class RangeScalar > | |
| KERNEL_PREFIX void | solve_block_upper_transpose (Ordinal N, const Scalar *A, RangeScalar *y) |
| template<class Scalar , class Ordinal , class RangeScalar > | |
| KERNEL_PREFIX void | solve_block_lower (Ordinal N, const Scalar *A, RangeScalar *y) |
| template<class Scalar , class Ordinal , class RangeScalar > | |
| KERNEL_PREFIX void | solve_block_lower_transpose (Ordinal N, const Scalar *A, RangeScalar *y) |
| template<class Scalar , class Ordinal , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | densematvec_trans (Ordinal Nrows, Ordinal Ncols, RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
| template<class Scalar , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | dense_matvec_1x1 (RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
| template<class Scalar , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | dense_matvec_2x2 (RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
| template<class Scalar , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | dense_matvec_3x3 (RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
| template<class Scalar , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | dense_matvec_4x4 (RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
| template<class Scalar , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | dense_matvec_trans_2x2 (RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
| template<class Scalar , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | dense_matvec_trans_3x3 (RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
| template<class Scalar , class DomainScalar , class RangeScalar > | |
| KERNEL_PREFIX void | dense_matvec_trans_4x4 (RangeScalar alpha, const Scalar *A, const DomainScalar *x, RangeScalar *y) |
Namespace Kokkos contains the nodes, helpers, linear algebra objects and kernels that constitute the Kokkos package.
Kokkos namespace
Namespace for Kokkos classes and methods.
Read/write options for non-const views.
| ReadWrite |
Indicates that the view may be safely read and written. |
| WriteOnly |
Indicates that the contents of the view are undefined until set on the host. |
Definition at line 53 of file Kokkos_NodeAPIConfigDefs.hpp.
| KERNEL_PREFIX void Kokkos::densematvec | ( | Ordinal | Nrows, |
| Ordinal | Ncols, | ||
| RangeScalar | alpha, | ||
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense matrix-vector product y = A*x
Definition at line 65 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::densematvec_skipdiag | ( | Ordinal | N, |
| RangeScalar | alpha, | ||
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense matrix-vector product y = A*x but skip the diagonal of A. (Used by the solve operation.)
Definition at line 81 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::solve_block_upper | ( | Ordinal | N, |
| const Scalar * | A, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Solve square dense upper-triangular matrix. On entry y is the rhs, on exit y is the solution.
Definition at line 101 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::solve_block_upper_transpose | ( | Ordinal | N, |
| const Scalar * | A, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Transpose-Solve square dense upper-triangular matrix. On entry y is the rhs, on exit y is the solution.
Definition at line 117 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::solve_block_lower | ( | Ordinal | N, |
| const Scalar * | A, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Solve square dense lower-triangular matrix. On entry y is the rhs, on exit y is the solution.
Definition at line 133 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::solve_block_lower_transpose | ( | Ordinal | N, |
| const Scalar * | A, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Transpose-Solve square dense lower-triangular matrix. On entry y is the rhs, on exit y is the solution.
Definition at line 149 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::densematvec_trans | ( | Ordinal | Nrows, |
| Ordinal | Ncols, | ||
| RangeScalar | alpha, | ||
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense transpose-matrix-vector product y = A*x
Definition at line 163 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::dense_matvec_1x1 | ( | RangeScalar | alpha, |
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense matrix-vector product y = A*x
Definition at line 178 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::dense_matvec_2x2 | ( | RangeScalar | alpha, |
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense matrix-vector product y = A*x
Definition at line 187 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::dense_matvec_3x3 | ( | RangeScalar | alpha, |
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense matrix-vector product y = A*x
Definition at line 197 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::dense_matvec_4x4 | ( | RangeScalar | alpha, |
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense matrix-vector product y = A*x
Definition at line 208 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::dense_matvec_trans_2x2 | ( | RangeScalar | alpha, |
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense matrix-vector product y = A*x
Definition at line 220 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::dense_matvec_trans_3x3 | ( | RangeScalar | alpha, |
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense matrix-vector product y = A*x
Definition at line 230 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
| KERNEL_PREFIX void Kokkos::dense_matvec_trans_4x4 | ( | RangeScalar | alpha, |
| const Scalar * | A, | ||
| const DomainScalar * | x, | ||
| RangeScalar * | y | ||
| ) | [inline] |
Form dense matrix-vector product y = A*x
Definition at line 241 of file Kokkos_DefaultBlockSparseKernelOps.hpp.
1.7.4