Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Namespaces | Functions
svd.hpp File Reference

Blocking cuSOLVER exact SVD over CUDA-buffer mdspec operands. More...

#include <uni20/backend/cuda/buffer.hpp>
#include <uni20/backend/cuda/cuda_error.hpp>
#include <uni20/backend/cusolver/cusolver_error.hpp>
#include <uni20/backend/cusolver/execution.hpp>
#include <uni20/linalg/blas/mdspan_matrix.hpp>
#include <uni20/linalg/dispatch.hpp>
#include <uni20/linalg/operation_tags.hpp>
#include <uni20/storage/cuda_accessor.hpp>
#include <uni20/storage/cuda_storage.hpp>
#include <algorithm>
#include <concepts>
#include <cstddef>
#include <limits>
#include <memory>
#include <optional>
#include <type_traits>
#include <utility>
Include dependency graph for backends/cusolver/svd.hpp:

Go to the source code of this file.

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 

Functions

template<uni20::MutableRankedStridedMdspecLike< 1 > Values, uni20::MutableRankedStridedMdspecLike< 2 > Left, uni20::MutableRankedStridedMdspecLike< 2 > Right, uni20::MutableRankedStridedMdspecLike< 2 > Matrix>
consteval auto uni20::linalg::kernel_accepts_types (CusolverBackend const &, svd_op const &, Values &, Left &, Right &, Matrix &)
 Report cuSOLVER eligibility for a CUDA-buffer exact SVD.
 
template<uni20::MutableRankedStridedMdspecLike< 1 > Values, uni20::MutableRankedStridedMdspecLike< 2 > Left, uni20::MutableRankedStridedMdspecLike< 2 > Right, uni20::MutableRankedStridedMdspecLike< 2 > Matrix>
requires detail::cusolver_backend::CusolverSvdMdspecs<Values, Left, Right, Matrix>
KernelAttempt uni20::linalg::try_kernel (CusolverBackend, svd_op const &operation, Values &values, Left &left, Right &right, Matrix &matrix)
 Compute one blocking exact SVD through cuSOLVER gesvd.
 

Detailed Description

Blocking cuSOLVER exact SVD over CUDA-buffer mdspec operands.