Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Namespaces | Functions
binary80.hpp File Reference
#include <uni20/linalg/backends/binary80_common.hpp>
#include <uni20/linalg/dispatch.hpp>
#include <uni20/linalg/matrix_product_shape.hpp>
#include <uni20/linalg/operation_tags.hpp>
#include <uni20/tensor/access.hpp>
#include <uni20/tensor/output.hpp>
Include dependency graph for linalg/backends/blas/binary80.hpp:

Go to the source code of this file.

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 

Functions

template<MutableRankedTensorView< 2 > C, mplapack_binary80_detail::Binary80Scalar S, RankedMdspecLike< 2 > A, RankedMdspecLike< 2 > B>
requires HostWritableMdspec<mutable_tensor_mdspec_t<C>> && HostReadableMdspec<A> && HostReadableMdspec<B> && std::same_as<tensor_element_t<C>, S> && std::same_as<typename A::value_type, S> && std::same_as<typename B::value_type, S>
consteval auto uni20::linalg::kernel_accepts_types (BlasBackend, assign_product_op const &, async::shared_storage< C > &, S const &, A &, B &)
 Accept deferred host binary80 matrix-product outputs.
 
template<MutableRankedTensorView< 2 > C, mplapack_binary80_detail::Binary80Scalar S, RankedMdspecLike< 2 > A, RankedMdspecLike< 2 > B>
requires HostWritableMdspec<mutable_tensor_mdspec_t<C>> && HostReadableMdspec<A> && HostReadableMdspec<B> && std::same_as<tensor_element_t<C>, S> && std::same_as<typename A::value_type, S> && std::same_as<typename B::value_type, S>
consteval auto uni20::linalg::kernel_accepts_types (BlasBackend, assign_product_op const &, C &, S const &, A &, B &)
 Accept replaceable binary80 host outputs for matrix-product assignment.
 
template<MutableRankedMdspecLike< 2 > C, mplapack_binary80_detail::Binary80Scalar S, RankedMdspecLike< 2 > A, RankedMdspecLike< 2 > B>
requires HostWritableMdspec<C> && HostReadableMdspec<A> && HostReadableMdspec<B> && std::same_as<typename C::value_type, S> && std::same_as<typename A::value_type, S> && std::same_as<typename B::value_type, S>
consteval auto uni20::linalg::kernel_accepts_types (BlasBackend, gemm_op const &, C &, S const &, A &, B &, S const &)
 Accept host-readable native binary80 operands, including transforming accessors.
 
template<MutableRankedTensorView< 2 > C, mplapack_binary80_detail::Binary80Scalar S, RankedMdspecLike< 2 > A, RankedMdspecLike< 2 > B>
requires HostWritableMdspec<mutable_tensor_mdspec_t<C>> && HostReadableMdspec<A> && HostReadableMdspec<B> && std::same_as<tensor_element_t<C>, S> && std::same_as<typename A::value_type, S> && std::same_as<typename B::value_type, S>
KernelAttempt uni20::linalg::try_kernel (BlasBackend backend, assign_product_op const &, async::shared_storage< C > &storage, S const &alpha, A &a, B &b)
 Construct or resize a deferred output before binary80 GEMM.
 
template<MutableRankedTensorView< 2 > C, mplapack_binary80_detail::Binary80Scalar S, RankedMdspecLike< 2 > A, RankedMdspecLike< 2 > B>
requires HostWritableMdspec<mutable_tensor_mdspec_t<C>> && HostReadableMdspec<A> && HostReadableMdspec<B> && std::same_as<tensor_element_t<C>, S> && std::same_as<typename A::value_type, S> && std::same_as<typename B::value_type, S>
KernelAttempt uni20::linalg::try_kernel (BlasBackend backend, assign_product_op const &, C &c, S const &alpha, A &a, B &b)
 Prepare the host output and lower assignment to binary80 GEMM.
 
template<MutableRankedMdspecLike< 2 > C, mplapack_binary80_detail::Binary80Scalar S, RankedMdspecLike< 2 > A, RankedMdspecLike< 2 > B>
requires HostWritableMdspec<C> && HostReadableMdspec<A> && HostReadableMdspec<B> && std::same_as<typename C::value_type, S> && std::same_as<typename A::value_type, S> && std::same_as<typename B::value_type, S>
KernelAttempt uni20::linalg::try_kernel (BlasBackend, gemm_op const &, C &c, S const &alpha, A &a, B &b, S const &beta)
 Pack logical host values and execute GEMM through value-preserving provider conversion.