Eigen-Contrib  5.0.1
 
Loading...
Searching...
No Matches
GPU type traits

Detailed Description

Classes

struct  Eigen::gpu::is_adjoint_view< T >
 
struct  Eigen::gpu::is_complex< T >
 
struct  Eigen::gpu::is_const_selfadjoint_view< T >
 
struct  Eigen::gpu::is_device_add_expr< T >
 
struct  Eigen::gpu::is_device_buffer< T >
 
struct  Eigen::gpu::is_device_expr< T >
 
struct  Eigen::gpu::is_device_matrix< T >
 
struct  Eigen::gpu::is_device_scalar< T >
 
struct  Eigen::gpu::is_device_scaled_device< T >
 
struct  Eigen::gpu::is_gemm_expr< T >
 
struct  Eigen::gpu::is_host_scalar< T >
 
struct  Eigen::gpu::is_llt_solve_expr< T >
 
struct  Eigen::gpu::is_llt_view< T >
 
struct  Eigen::gpu::is_lu_solve_expr< T >
 
struct  Eigen::gpu::is_lu_view< T >
 
struct  Eigen::gpu::is_scaled< T >
 
struct  Eigen::gpu::is_scaled_gemm< T >
 
struct  Eigen::gpu::is_scaled_leaf< T >
 
struct  Eigen::gpu::is_selfadjoint_view< T >
 
struct  Eigen::gpu::is_symm_expr< T >
 
struct  Eigen::gpu::is_syrk_expr< T >
 
struct  Eigen::gpu::is_transpose_view< T >
 
struct  Eigen::gpu::is_triangular_view< T >
 
struct  Eigen::gpu::is_trsm_expr< T >
 

Typedefs

template<typename T>
using Eigen::gpu::require_host_scalar
 

Variables

template<typename T>
constexpr bool Eigen::gpu::is_complex_v
 

Public is_* / is_*_v / require_* / require_all_* wrappers

Type traits for the Eigen GPU library

template<typename T>
using Eigen::gpu::require_device_buffer
 
template<typename T>
using Eigen::gpu::require_device_matrix
 
template<typename T>
using Eigen::gpu::require_not_device_matrix
 
template<typename... Types>
using Eigen::gpu::require_all_device_matrix
 
template<typename T>
using Eigen::gpu::require_gemm_expr
 
template<typename... Types>
using Eigen::gpu::require_all_gemm_expr
 
template<typename T>
using Eigen::gpu::require_adjoint_view
 
template<typename... Types>
using Eigen::gpu::require_all_adjoint_view
 
template<typename T>
using Eigen::gpu::require_transpose_view
 
template<typename... Types>
using Eigen::gpu::require_all_transpose_view
 
template<typename T>
using Eigen::gpu::require_scaled
 
template<typename T>
using Eigen::gpu::require_scaled_leaf
 
template<typename T>
using Eigen::gpu::require_scaled_gemm
 
template<typename T>
using Eigen::gpu::require_adjoint_or_transpose_view
 
template<typename T>
using Eigen::gpu::require_triangular_view
 
template<typename... Types>
using Eigen::gpu::require_all_triangular_view
 
template<typename T>
using Eigen::gpu::require_trsm_expr
 
template<typename... Types>
using Eigen::gpu::require_all_trsm_expr
 
template<typename T>
using Eigen::gpu::require_selfadjoint_view
 
template<typename... Types>
using Eigen::gpu::require_all_selfadjoint_view
 
template<typename T>
using Eigen::gpu::require_const_selfadjoint_view
 
template<typename... Types>
using Eigen::gpu::require_all_const_selfadjoint_view
 
template<typename T>
using Eigen::gpu::require_symm_expr
 
template<typename... Types>
using Eigen::gpu::require_all_symm_expr
 
template<typename T>
using Eigen::gpu::require_syrk_expr
 
template<typename... Types>
using Eigen::gpu::require_all_syrk_expr
 
template<typename T>
using Eigen::gpu::require_llt_solve_expr
 
template<typename... Types>
using Eigen::gpu::require_all_llt_solve_expr
 
template<typename T>
using Eigen::gpu::require_lu_solve_expr
 
template<typename... Types>
using Eigen::gpu::require_all_lu_solve_expr
 
template<typename T>
using Eigen::gpu::require_llt_view
 
template<typename... Types>
using Eigen::gpu::require_all_llt_view
 
template<typename T>
using Eigen::gpu::require_lu_view
 
template<typename... Types>
using Eigen::gpu::require_all_lu_view
 
template<typename T>
using Eigen::gpu::require_device_add_expr
 
template<typename... Types>
using Eigen::gpu::require_all_device_add_expr
 
template<typename T>
using Eigen::gpu::require_device_scaled_device
 
template<typename... Types>
using Eigen::gpu::require_all_device_scaled_device
 
template<typename T>
using Eigen::gpu::require_device_scalar
 
template<typename... Types>
using Eigen::gpu::require_all_device_scalar
 
template<typename T>
constexpr bool Eigen::gpu::is_device_buffer_v
 
template<typename T>
constexpr bool Eigen::gpu::is_device_matrix_v
 
template<typename T>
constexpr bool Eigen::gpu::is_gemm_expr_v
 
template<typename T>
constexpr bool Eigen::gpu::is_adjoint_view_v
 
template<typename T>
constexpr bool Eigen::gpu::is_transpose_view_v
 
template<typename T>
constexpr bool Eigen::gpu::is_scaled_v
 
template<typename T>
constexpr bool Eigen::gpu::is_scaled_leaf_v
 
template<typename T>
constexpr bool Eigen::gpu::is_scaled_gemm_v
 
template<typename T>
constexpr bool Eigen::gpu::is_gemm_like_v
 
template<typename T>
constexpr bool Eigen::gpu::is_triangular_view_v
 
template<typename T>
constexpr bool Eigen::gpu::is_trsm_expr_v
 
template<typename T>
constexpr bool Eigen::gpu::is_selfadjoint_view_v
 
template<typename T>
constexpr bool Eigen::gpu::is_const_selfadjoint_view_v
 
template<typename T>
constexpr bool Eigen::gpu::is_symm_expr_v
 
template<typename T>
constexpr bool Eigen::gpu::is_syrk_expr_v
 
template<typename T>
constexpr bool Eigen::gpu::is_llt_solve_expr_v
 
template<typename T>
constexpr bool Eigen::gpu::is_lu_solve_expr_v
 
template<typename T>
constexpr bool Eigen::gpu::is_llt_view_v
 
template<typename T>
constexpr bool Eigen::gpu::is_lu_view_v
 
template<typename T>
constexpr bool Eigen::gpu::is_factor_expr_v
 
template<typename T>
constexpr bool Eigen::gpu::is_device_add_expr_v
 
template<typename T>
constexpr bool Eigen::gpu::is_device_scaled_device_v
 
template<typename T>
constexpr bool Eigen::gpu::is_device_scalar_v
 

device_expr_traits query aliases

Lazy readers of the member-inspecting internal::device_expr_traits, whose specializations live in DeviceExpr.h. Declared from the FwdDecl.h forward declaration; they resolve only when instantiated on a complete specialization.

template<typename T>
using Eigen::gpu::require_device_expr
 
template<typename... Types>
using Eigen::gpu::require_all_device_expr
 
template<typename T>
constexpr bool Eigen::gpu::is_device_expr_v
 

Typedef Documentation

◆ require_adjoint_or_transpose_view

Require a type is an Eigen::gpu::AdjointView or a Eigen::gpu::TransposeView

Template Parameters
TThe type to test.

◆ require_adjoint_view

template<typename T>
using Eigen::gpu::require_adjoint_view

Require a type is an Eigen::gpu::AdjointView

Template Parameters
TThe type to test.

◆ require_all_adjoint_view

template<typename... Types>
using Eigen::gpu::require_all_adjoint_view

Require all types are Eigen::gpu::AdjointView types.

Template Parameters
TypesThe types to test.

◆ require_all_const_selfadjoint_view

template<typename... Types>
using Eigen::gpu::require_all_const_selfadjoint_view

Require all types are Eigen::gpu::ConstSelfAdjointView types.

Template Parameters
TypesThe types to test.

◆ require_all_device_add_expr

template<typename... Types>
using Eigen::gpu::require_all_device_add_expr

Require all types are Eigen::gpu::DeviceAddExpr types.

Template Parameters
TypesThe types to test.

◆ require_all_device_expr

template<typename... Types>
using Eigen::gpu::require_all_device_expr

Require all types are marked as device expressions by Eigen::gpu::internal::device_expr_traits

Template Parameters
TypesThe types to test.

◆ require_all_device_matrix

template<typename... Types>
using Eigen::gpu::require_all_device_matrix

Require all types are Eigen::gpu::DeviceMatrix types.

Template Parameters
TypesThe types to test.

◆ require_all_device_scalar

template<typename... Types>
using Eigen::gpu::require_all_device_scalar

Require all types are Eigen::gpu::DeviceScalar types.

Template Parameters
TypesThe types to test.

◆ require_all_device_scaled_device

template<typename... Types>
using Eigen::gpu::require_all_device_scaled_device

Require all types are Eigen::gpu::DeviceScaledDevice types.

Template Parameters
TypesThe types to test.

◆ require_all_gemm_expr

template<typename... Types>
using Eigen::gpu::require_all_gemm_expr

Require all types are Eigen::gpu::GemmExpr types.

Template Parameters
TypesThe types to test.

◆ require_all_llt_solve_expr

template<typename... Types>
using Eigen::gpu::require_all_llt_solve_expr

Require all types are Eigen::gpu::LltSolveExpr types.

Template Parameters
TypesThe types to test.

◆ require_all_llt_view

template<typename... Types>
using Eigen::gpu::require_all_llt_view

Require all types are Eigen::gpu::LLTView types.

Template Parameters
TypesThe types to test.

◆ require_all_lu_solve_expr

template<typename... Types>
using Eigen::gpu::require_all_lu_solve_expr

Require all types are Eigen::gpu::LuSolveExpr types.

Template Parameters
TypesThe types to test.

◆ require_all_lu_view

template<typename... Types>
using Eigen::gpu::require_all_lu_view

Require all types are Eigen::gpu::LUView types.

Template Parameters
TypesThe types to test.

◆ require_all_selfadjoint_view

template<typename... Types>
using Eigen::gpu::require_all_selfadjoint_view

Require all types are Eigen::gpu::SelfAdjointView types.

Template Parameters
TypesThe types to test.

◆ require_all_symm_expr

template<typename... Types>
using Eigen::gpu::require_all_symm_expr

Require all types are Eigen::gpu::SymmExpr types.

Template Parameters
TypesThe types to test.

◆ require_all_syrk_expr

template<typename... Types>
using Eigen::gpu::require_all_syrk_expr

Require all types are Eigen::gpu::SyrkExpr types.

Template Parameters
TypesThe types to test.

◆ require_all_transpose_view

template<typename... Types>
using Eigen::gpu::require_all_transpose_view

Require all types are Eigen::gpu::TransposeView types.

Template Parameters
TypesThe types to test.

◆ require_all_triangular_view

template<typename... Types>
using Eigen::gpu::require_all_triangular_view

Require all types are Eigen::gpu::TriangularView types.

Template Parameters
TypesThe types to test.

◆ require_all_trsm_expr

template<typename... Types>
using Eigen::gpu::require_all_trsm_expr

Require all types are Eigen::gpu::TrsmExpr types.

Template Parameters
TypesThe types to test.

◆ require_const_selfadjoint_view

template<typename T>
using Eigen::gpu::require_const_selfadjoint_view

Require a type is a Eigen::gpu::ConstSelfAdjointView

Template Parameters
TThe type to test.

◆ require_device_add_expr

template<typename T>
using Eigen::gpu::require_device_add_expr

Require a type is a Eigen::gpu::DeviceAddExpr

Template Parameters
TThe type to test.

◆ require_device_buffer

template<typename T>
using Eigen::gpu::require_device_buffer

Require a type is a Eigen::gpu::internal::DeviceBuffer

Template Parameters
TThe type to test.

◆ require_device_expr

template<typename T>
using Eigen::gpu::require_device_expr

Require a type is marked as a device expression by Eigen::gpu::internal::device_expr_traits

Template Parameters
TThe type to test.

◆ require_device_matrix

template<typename T>
using Eigen::gpu::require_device_matrix

Require a type is a Eigen::gpu::DeviceMatrix

Template Parameters
TThe type to test.

◆ require_device_scalar

template<typename T>
using Eigen::gpu::require_device_scalar

Require a type is a Eigen::gpu::DeviceScalar

Template Parameters
TThe type to test.

◆ require_device_scaled_device

template<typename T>
using Eigen::gpu::require_device_scaled_device

Require a type is a Eigen::gpu::DeviceScaledDevice

Template Parameters
TThe type to test.

◆ require_gemm_expr

template<typename T>
using Eigen::gpu::require_gemm_expr

Require a type is a Eigen::gpu::GemmExpr

Template Parameters
TThe type to test.

◆ require_host_scalar

template<typename T>
using Eigen::gpu::require_host_scalar

Require a type is an integral, floating-point, or std::complex host scalar.

Template Parameters
TThe type to test.

◆ require_llt_solve_expr

template<typename T>
using Eigen::gpu::require_llt_solve_expr

Require a type is a Eigen::gpu::LltSolveExpr

Template Parameters
TThe type to test.

◆ require_llt_view

template<typename T>
using Eigen::gpu::require_llt_view

Require a type is an Eigen::gpu::LLTView

Template Parameters
TThe type to test.

◆ require_lu_solve_expr

template<typename T>
using Eigen::gpu::require_lu_solve_expr

Require a type is a Eigen::gpu::LuSolveExpr

Template Parameters
TThe type to test.

◆ require_lu_view

template<typename T>
using Eigen::gpu::require_lu_view

Require a type is an Eigen::gpu::LUView

Template Parameters
TThe type to test.

◆ require_not_device_matrix

template<typename T>
using Eigen::gpu::require_not_device_matrix

Require a type is not a Eigen::gpu::DeviceMatrix

Template Parameters
TThe type to test.

◆ require_scaled

template<typename T>
using Eigen::gpu::require_scaled

Require a type is a Eigen::gpu::Scaled expression.

Template Parameters
TThe type to test.

◆ require_scaled_gemm

template<typename T>
using Eigen::gpu::require_scaled_gemm

Require a type is a Eigen::gpu::Scaled expression directly over a Eigen::gpu::GemmExpr

Template Parameters
TThe type to test.

◆ require_scaled_leaf

template<typename T>
using Eigen::gpu::require_scaled_leaf

Require a type is a Eigen::gpu::Scaled expression directly over a Eigen::gpu::DeviceMatrix

Template Parameters
TThe type to test.

◆ require_selfadjoint_view

template<typename T>
using Eigen::gpu::require_selfadjoint_view

Require a type is a Eigen::gpu::SelfAdjointView

Template Parameters
TThe type to test.

◆ require_symm_expr

template<typename T>
using Eigen::gpu::require_symm_expr

Require a type is a Eigen::gpu::SymmExpr

Template Parameters
TThe type to test.

◆ require_syrk_expr

template<typename T>
using Eigen::gpu::require_syrk_expr

Require a type is a Eigen::gpu::SyrkExpr

Template Parameters
TThe type to test.

◆ require_transpose_view

template<typename T>
using Eigen::gpu::require_transpose_view

Require a type is a Eigen::gpu::TransposeView

Template Parameters
TThe type to test.

◆ require_triangular_view

template<typename T>
using Eigen::gpu::require_triangular_view

Require a type is a Eigen::gpu::TriangularView

Template Parameters
TThe type to test.

◆ require_trsm_expr

template<typename T>
using Eigen::gpu::require_trsm_expr

Require a type is a Eigen::gpu::TrsmExpr

Template Parameters
TThe type to test.

Variable Documentation

◆ is_adjoint_view_v

template<typename T>
bool Eigen::gpu::is_adjoint_view_v
constexpr

True iff a type is an Eigen::gpu::AdjointView

Template Parameters
TThe type to test.

◆ is_complex_v

template<typename T>
bool Eigen::gpu::is_complex_v
constexpr

True iff a type is a std::complex specialization.

Template Parameters
TThe type to test.

◆ is_const_selfadjoint_view_v

template<typename T>
bool Eigen::gpu::is_const_selfadjoint_view_v
constexpr

True iff a type is a Eigen::gpu::ConstSelfAdjointView

Template Parameters
TThe type to test.

◆ is_device_add_expr_v

template<typename T>
bool Eigen::gpu::is_device_add_expr_v
constexpr

True iff a type is a Eigen::gpu::DeviceAddExpr

Template Parameters
TThe type to test.

◆ is_device_buffer_v

template<typename T>
bool Eigen::gpu::is_device_buffer_v
constexpr

True iff a type is a Eigen::gpu::internal::DeviceBuffer

Template Parameters
TThe type to test.

◆ is_device_expr_v

template<typename T>
bool Eigen::gpu::is_device_expr_v
constexpr

True iff a type is marked as a device expression by Eigen::gpu::internal::device_expr_traits

Template Parameters
TThe type to test.

◆ is_device_matrix_v

template<typename T>
bool Eigen::gpu::is_device_matrix_v
constexpr

True iff a type is a Eigen::gpu::DeviceMatrix

Template Parameters
TThe type to test.

◆ is_device_scalar_v

template<typename T>
bool Eigen::gpu::is_device_scalar_v
constexpr

True iff a type is a Eigen::gpu::DeviceScalar

Template Parameters
TThe type to test.

◆ is_device_scaled_device_v

template<typename T>
bool Eigen::gpu::is_device_scaled_device_v
constexpr

True iff a type is a Eigen::gpu::DeviceScaledDevice

Template Parameters
TThe type to test.

◆ is_factor_expr_v

template<typename T>
bool Eigen::gpu::is_factor_expr_v
constexpr

True iff a type is an Eigen::gpu::LLTView or an Eigen::gpu::LUView

Template Parameters
TThe type to test.
Note
Arithmetic operators exclude factorization handles so they cannot be lowered as matrix operands.

◆ is_gemm_expr_v

template<typename T>
bool Eigen::gpu::is_gemm_expr_v
constexpr

True iff a type is a Eigen::gpu::GemmExpr

Template Parameters
TThe type to test.

◆ is_gemm_like_v

template<typename T>
bool Eigen::gpu::is_gemm_like_v
constexpr

True iff a type is a Eigen::gpu::GemmExpr or a Eigen::gpu::Scaled expression directly over one.

Template Parameters
TThe type to test.
Note
Such a product may carry one deferred scalar, which becomes the GEMM alpha scale.

◆ is_llt_solve_expr_v

template<typename T>
bool Eigen::gpu::is_llt_solve_expr_v
constexpr

True iff a type is a Eigen::gpu::LltSolveExpr

Template Parameters
TThe type to test.

◆ is_llt_view_v

template<typename T>
bool Eigen::gpu::is_llt_view_v
constexpr

True iff a type is an Eigen::gpu::LLTView

Template Parameters
TThe type to test.

◆ is_lu_solve_expr_v

template<typename T>
bool Eigen::gpu::is_lu_solve_expr_v
constexpr

True iff a type is a Eigen::gpu::LuSolveExpr

Template Parameters
TThe type to test.

◆ is_lu_view_v

template<typename T>
bool Eigen::gpu::is_lu_view_v
constexpr

True iff a type is an Eigen::gpu::LUView

Template Parameters
TThe type to test.

◆ is_scaled_gemm_v

template<typename T>
bool Eigen::gpu::is_scaled_gemm_v
constexpr

True iff a type is a Eigen::gpu::Scaled expression directly over a Eigen::gpu::GemmExpr

Template Parameters
TThe type to test.

◆ is_scaled_leaf_v

template<typename T>
bool Eigen::gpu::is_scaled_leaf_v
constexpr

True iff a type is a Eigen::gpu::Scaled expression directly over a Eigen::gpu::DeviceMatrix

Template Parameters
TThe type to test.

◆ is_scaled_v

template<typename T>
bool Eigen::gpu::is_scaled_v
constexpr

True iff a type is a Eigen::gpu::Scaled expression.

Template Parameters
TThe type to test.

◆ is_selfadjoint_view_v

template<typename T>
bool Eigen::gpu::is_selfadjoint_view_v
constexpr

True iff a type is a Eigen::gpu::SelfAdjointView

Template Parameters
TThe type to test.

◆ is_symm_expr_v

template<typename T>
bool Eigen::gpu::is_symm_expr_v
constexpr

True iff a type is a Eigen::gpu::SymmExpr

Template Parameters
TThe type to test.

◆ is_syrk_expr_v

template<typename T>
bool Eigen::gpu::is_syrk_expr_v
constexpr

True iff a type is a Eigen::gpu::SyrkExpr

Template Parameters
TThe type to test.

◆ is_transpose_view_v

template<typename T>
bool Eigen::gpu::is_transpose_view_v
constexpr

True iff a type is a Eigen::gpu::TransposeView

Template Parameters
TThe type to test.

◆ is_triangular_view_v

template<typename T>
bool Eigen::gpu::is_triangular_view_v
constexpr

True iff a type is a Eigen::gpu::TriangularView

Template Parameters
TThe type to test.

◆ is_trsm_expr_v

template<typename T>
bool Eigen::gpu::is_trsm_expr_v
constexpr

True iff a type is a Eigen::gpu::TrsmExpr

Template Parameters
TThe type to test.