|
Uni20
Asynchronous tensor and runtime library.
|
cuBLAS full inner-product and Euclidean-norm reductions. More...
#include <uni20/backend/cublas/execution.hpp>#include <uni20/backend/cublas/level1.hpp>#include <uni20/backend/cuda/buffer.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 <concepts>#include <cstddef>#include <limits>#include <type_traits>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Functions | |
| template<class Output , uni20::MdspecLike LhsMdspec, uni20::MdspecLike RhsMdspec> | |
| consteval auto | uni20::linalg::kernel_accepts_types (CublasBackend const &, inner_product_op const &, Output &, LhsMdspec &, RhsMdspec &) |
| Report cuBLAS eligibility for a full CUDA inner product returning a host scalar. | |
| template<class Output , uni20::MdspecLike InputMdspec> | |
| consteval auto | uni20::linalg::kernel_accepts_types (CublasBackend const &, norm_op const &, Output &, InputMdspec &) |
| Report cuBLAS eligibility for a full CUDA norm returning a host scalar. | |
| template<class Output , uni20::MdspecLike LhsMdspec, uni20::MdspecLike RhsMdspec> requires detail::cublas_backend::HostScalarOutput<Output, typename std::remove_cvref_t<LhsMdspec>::value_type> && detail::cublas_backend::RawReadableCudaReductionMdspec< LhsMdspec, typename std::remove_cvref_t<LhsMdspec>::value_type> && detail::cublas_backend::RawReadableCudaReductionMdspec<RhsMdspec, typename std::remove_cvref_t<LhsMdspec>::value_type> | |
| KernelAttempt | uni20::linalg::try_kernel (CublasBackend, inner_product_op const &, Output &output, LhsMdspec &lhs, RhsMdspec &rhs) |
| Compute a full CUDA inner product through cuBLAS. | |
| template<class Output , uni20::MdspecLike InputMdspec> requires detail::cublas_backend::HostScalarOutput< Output, uni20::make_real_t<typename std::remove_cvref_t<InputMdspec>::value_type>> && detail::cublas_backend::RawReadableCudaReductionMdspec<InputMdspec, typename std::remove_cvref_t<InputMdspec>::value_type> | |
| KernelAttempt | uni20::linalg::try_kernel (CublasBackend, norm_op const &, Output &output, InputMdspec &input) |
| Compute a full CUDA Euclidean norm through cuBLAS. | |
cuBLAS full inner-product and Euclidean-norm reductions.