InfiniOps
Operator Library for Accelerators
Loading...
Searching...
No Matches
infini::ops::internal::linalg::Svd Class Referenceabstract

#include <internal_linalg_svd.h>

Inheritance diagram for infini::ops::internal::linalg::Svd:
infini::ops::Operator< Svd > infini::ops::OperatorBase infini::ops::OperatorBase

Public Member Functions

 Svd (const Tensor A, const bool full_matrices, const bool compute_uv, const std::optional< std::string > driver, Tensor U, Tensor S, Tensor Vh)
 
virtual void operator() (const Tensor A, const bool full_matrices, const bool compute_uv, const std::optional< std::string > driver, Tensor U, Tensor S, Tensor Vh) const =0
 
- Public Member Functions inherited from infini::ops::Operator< Svd >
void operator() (const Handle &handle, const Args &... args)
 
void operator() (const Args &... args) const
 
void operator() (const Handle &handle, const Args &... args)
 
void operator() (const Args &... args) const
 
- Public Member Functions inherited from infini::ops::OperatorBase
virtual ~OperatorBase ()=default
 
virtual std::size_t workspace_size_in_bytes () const
 
void set_handle (const Handle &handle)
 
void set_config (const Config &config)
 
void set_stream (void *stream)
 
void set_workspace (void *workspace)
 
void set_workspace_size_in_bytes (std::size_t workspace_size_in_bytes)
 
virtual ~OperatorBase ()=default
 
virtual std::size_t workspace_size_in_bytes () const
 
void set_handle (const Handle &handle)
 
void set_config (const Config &config)
 
void set_stream (void *stream)
 
void set_workspace (void *workspace)
 
void set_workspace_size_in_bytes (std::size_t workspace_size_in_bytes)
 

Protected Attributes

Tensor::Shape A_shape_
 
Tensor::Strides A_strides_
 
DataType A_type_
 
Tensor::Shape U_shape_
 
Tensor::Strides U_strides_
 
DataType U_type_
 
Tensor::Shape S_shape_
 
Tensor::Strides S_strides_
 
DataType S_type_
 
Tensor::Shape Vh_shape_
 
Tensor::Strides Vh_strides_
 
DataType Vh_type_
 
bool full_matrices_ {}
 
bool compute_uv_ {}
 
std::optional< std::string > driver_ {}
 
int device_index_ {0}
 
- Protected Attributes inherited from infini::ops::OperatorBase
std::unique_ptr< Handle > handle_ptr_
 
std::unique_ptr< Config > config_ptr_
 
void * stream_ {nullptr}
 
void * workspace_ {nullptr}
 
std::size_t workspace_size_in_bytes_ {0}
 

Additional Inherited Members

- Static Public Member Functions inherited from infini::ops::Operator< Svd >
static void clear_cache ()
 
static void clear_cache ()
 
static std::unique_ptr< Operator > Make (const Config &config, const Tensor tensor, Args &&... args)
 
static std::unique_ptr< Operator > Make (const Tensor tensor, Args &&... args)
 
static std::unique_ptr< Operator > Make (const Config &config, const std::vector< Tensor > tensors, Args &&... args)
 
static std::unique_ptr< Operator > Make (const std::vector< Tensor > tensors, Args &&... args)
 
static std::unique_ptr< Operator > Make (const Config &config, const Tensor tensor, Args &&... args)
 
static std::unique_ptr< Operator > Make (const Tensor tensor, Args &&... args)
 
static std::unique_ptr< Operator > Make (const Config &config, const std::vector< Tensor > tensors, Args &&... args)
 
static std::unique_ptr< Operator > Make (const std::vector< Tensor > tensors, Args &&... args)
 
static void Call (const Handle &handle, const Config &config, const Args &... args)
 
static void Call (const Tensor tensor, const Args &... args)
 
static auto Call (const TensorLike &tensor, const Args &... args)
 
static void Call (const Handle &handle, const Config &config, const Args &... args)
 
static void Call (const Tensor tensor, const Args &... args)
 
static auto Call (const TensorLike &tensor, const Args &... args)
 
static std::vector< std::size_t > active_implementation_indices (Device::Type dev_type)
 
static std::vector< std::size_t > active_implementation_indices (Device::Type dev_type)
 
- Static Protected Attributes inherited from infini::ops::Operator< Svd >
static constexpr Device::Type device_type_
 
static constexpr std::size_t implementation_index_
 

Constructor & Destructor Documentation

◆ Svd()

infini::ops::internal::linalg::Svd::Svd ( const Tensor  A,
const bool  full_matrices,
const bool  compute_uv,
const std::optional< std::string >  driver,
Tensor  U,
Tensor  S,
Tensor  Vh 
)
inline

Member Function Documentation

◆ operator()()

virtual void infini::ops::internal::linalg::Svd::operator() ( const Tensor  A,
const bool  full_matrices,
const bool  compute_uv,
const std::optional< std::string >  driver,
Tensor  U,
Tensor  S,
Tensor  Vh 
) const
pure virtual

Member Data Documentation

◆ A_shape_

Tensor::Shape infini::ops::internal::linalg::Svd::A_shape_
protected

◆ A_strides_

Tensor::Strides infini::ops::internal::linalg::Svd::A_strides_
protected

◆ A_type_

DataType infini::ops::internal::linalg::Svd::A_type_
protected

◆ compute_uv_

bool infini::ops::internal::linalg::Svd::compute_uv_ {}
protected

◆ device_index_

int infini::ops::internal::linalg::Svd::device_index_ {0}
protected

◆ driver_

std::optional<std::string> infini::ops::internal::linalg::Svd::driver_ {}
protected

◆ full_matrices_

bool infini::ops::internal::linalg::Svd::full_matrices_ {}
protected

◆ S_shape_

Tensor::Shape infini::ops::internal::linalg::Svd::S_shape_
protected

◆ S_strides_

Tensor::Strides infini::ops::internal::linalg::Svd::S_strides_
protected

◆ S_type_

DataType infini::ops::internal::linalg::Svd::S_type_
protected

◆ U_shape_

Tensor::Shape infini::ops::internal::linalg::Svd::U_shape_
protected

◆ U_strides_

Tensor::Strides infini::ops::internal::linalg::Svd::U_strides_
protected

◆ U_type_

DataType infini::ops::internal::linalg::Svd::U_type_
protected

◆ Vh_shape_

Tensor::Shape infini::ops::internal::linalg::Svd::Vh_shape_
protected

◆ Vh_strides_

Tensor::Strides infini::ops::internal::linalg::Svd::Vh_strides_
protected

◆ Vh_type_

DataType infini::ops::internal::linalg::Svd::Vh_type_
protected

The documentation for this class was generated from the following file: