Eigen-Contrib  5.0.1
 
Loading...
Searching...
No Matches
FwdDecl.h
1// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
4// This Source Code Form is subject to the terms of the Mozilla
5// Public License v. 2.0. If a copy of the MPL was not distributed
6// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
7// SPDX-FileCopyrightText: The Eigen Authors
8// SPDX-License-Identifier: MPL-2.0
9
10#ifndef EIGEN_GPU_FWD_DECL_H
11#define EIGEN_GPU_FWD_DECL_H
12
13// IWYU pragma: private
14#include "./InternalHeaderCheck.h"
15
16namespace Eigen {
17namespace gpu {
18
19class Context;
20
21enum class GpuOp;
22
23namespace internal {
24class DeviceBuffer;
25
33template <typename Expr>
35} // namespace internal
36
37template <typename Scalar_>
38class DeviceMatrix;
39template <typename Scalar_>
40class DeviceScalar;
41
42template <typename Scalar_, int UpLo_>
43class LLT;
44template <typename Scalar_>
45class LU;
46template <typename Scalar_>
47class QR;
48
49template <typename Scalar_>
50class AdjointView;
51template <typename Scalar_>
52class TransposeView;
53template <typename Scalar_>
54class Assignment;
55template <typename Lhs, typename Rhs>
56class GemmExpr;
57template <typename Inner>
58class Scaled;
59template <typename Scalar_>
60class DeviceAddExpr;
61template <typename Scalar_>
63
64template <typename Scalar_, int UpLo_>
65class LltSolveExpr;
66template <typename Scalar_>
67class LuSolveExpr;
68template <typename Scalar_, int UpLo_>
69class LLTView;
70template <typename Scalar_>
71class LUView;
72
73template <typename Scalar_, int UpLo_>
74class TriangularView;
75template <typename Scalar_, int UpLo_>
76class SelfAdjointView;
77template <typename Scalar_, int UpLo_>
79template <typename Scalar_, int UpLo_>
80class TrsmExpr;
81template <typename Scalar_, int UpLo_>
82class SymmExpr;
83template <typename Scalar_, int UpLo_>
84class SyrkExpr;
85
86template <typename Scalar_>
87class SparseContext;
88template <typename Scalar_>
90template <typename Scalar_>
91class SpMVExpr;
92template <typename Scalar_>
93class SpMVAffineExpr;
94
95} // namespace gpu
96} // namespace Eigen
97
98#endif // EIGEN_GPU_FWD_DECL_H
View returned by DeviceMatrix::adjoint(); maps to the cuBLAS conjugate-transpose operand flag.
Definition DeviceExpr.h:46
Definition DeviceBlasExpr.h:81
Unified GPU execution context owning a CUDA stream and library handles.
Definition GpuContext.h:81
Linear combination of two device matrices.
Definition DeviceExpr.h:260
RAII wrapper for a dense column-major matrix in GPU device memory.
Definition DeviceMatrix.h:122
RAII wrapper for a scalar in GPU device memory.
Definition DeviceScalar.h:33
Expression that scales a device matrix by a DeviceScalar.
Definition DeviceExpr.h:231
Definition GpuSparseContext.h:234
Expression returned by operator*(lhs_expr, rhs_expr), dispatched to cuBLAS GEMM.
Definition DeviceExpr.h:92
Definition DeviceSolverExpr.h:61
GPU Cholesky (LL^T) decomposition via cuSOLVER.
Definition GpuLLT.h:41
Definition DeviceSolverExpr.h:76
GPU LU decomposition with partial pivoting via cuSOLVER.
Definition GpuLU.h:37
Definition DeviceSolverExpr.h:30
Definition DeviceSolverExpr.h:46
Expression returned by operator*(Scalar, DeviceMatrix/View), carrying the scalar factor.
Definition DeviceExpr.h:77
Definition DeviceBlasExpr.h:61
Definition GpuSparseContext.h:166
Definition GpuSparseContext.h:146
Definition DeviceBlasExpr.h:96
Definition DeviceBlasExpr.h:122
View returned by DeviceMatrix::transpose(); maps to the cuBLAS transpose operand flag.
Definition DeviceExpr.h:58
Definition DeviceBlasExpr.h:29
Definition DeviceBlasExpr.h:45
Internal RAII owner for an untyped GPU device allocation.
Definition GpuSupport.h:293
Namespace containing all symbols from the Eigen library.
Describes GPU device expression types.
Definition DeviceExpr.h:173