Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Concepts | Typedefs | Functions
uni20::linalg::reduction_detail Namespace Reference

Classes

struct  HostOutputType
 
struct  HostOutputType< Output, true >
 

Concepts

concept  HostOutput
 Reduction output that is either a host scalar or host-writable mdspec.
 

Typedefs

template<class Output >
using host_output_t = typename HostOutputType< Output >::type
 Resolved output type used by a host reduction backend probe.
 

Functions

template<class Output , class Scalar , std::size_t Rank>
consteval bool output_is_supported ()
 Report whether an output can receive a reduction value of fixed rank.
 
template<class Output , class Function >
KernelAttempt with_host_output (Output &output, Function &&function)
 Invoke a synchronous reduction with a resolved host output.
 
template<class Output , class Scalar >
void write_host_output (Output &output, Scalar value)
 Store a scalar in either a resolved rank-zero mdspan or C++ scalar.
 

Typedef Documentation

◆ host_output_t

template<class Output >
using uni20::linalg::reduction_detail::host_output_t = typedef typename HostOutputType<Output>::type

Resolved output type used by a host reduction backend probe.

Function Documentation

◆ output_is_supported()

template<class Output , class Scalar , std::size_t Rank>
consteval bool uni20::linalg::reduction_detail::output_is_supported ( )

Report whether an output can receive a reduction value of fixed rank.

◆ with_host_output()

template<class Output , class Function >
KernelAttempt uni20::linalg::reduction_detail::with_host_output ( Output &  output,
Function &&  function 
)

Invoke a synchronous reduction with a resolved host output.

◆ write_host_output()

template<class Output , class Scalar >
void uni20::linalg::reduction_detail::write_host_output ( Output &  output,
Scalar  value 
)

Store a scalar in either a resolved rank-zero mdspan or C++ scalar.