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

Async Tensor wrappers for elementwise overwrite and update operations. More...

#include <uni20/async/async.hpp>
#include <uni20/async/awaiters.hpp>
#include <uni20/async/debug_scheduler.hpp>
#include <uni20/common/trace.hpp>
#include <uni20/linalg/async/detail/output.hpp>
#include <uni20/tensor/output.hpp>
#include <uni20/tensor/transform.hpp>
#include <concepts>
#include <cstddef>
#include <tuple>
#include <utility>
Include dependency graph for linalg/async/transform.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  uni20
 

Functions

template<AsyncTensorOutput OutputTensor, class Function >
void uni20::assign_transform (async::Async< OutputTensor > &output, Function &&function)
 Schedule a nullary overwrite using the static Tensor selector.
 
template<AsyncTensorOutput OutputTensor, class Function , TensorView FirstInputTensor, TensorView... RestInputTensors>
requires detail::OverwriteTransformTensors<OutputTensor, FirstInputTensor, RestInputTensors...>
void uni20::assign_transform (async::Async< OutputTensor > &output, Function &&function, async::Async< FirstInputTensor > const &first_input, async::Async< RestInputTensors > const &... rest_inputs)
 Schedule a variadic elementwise overwrite using the static Tensor selector.
 
template<class BackendSelector , AsyncTensorOutput OutputTensor, class Function >
void uni20::assign_transform (BackendSelector selector, async::Async< OutputTensor > &output, Function &&function)
 Schedule a nullary overwrite of an existing async Tensor.
 
template<class BackendSelector , AsyncTensorOutput OutputTensor, class Function , TensorView FirstInputTensor, TensorView... RestInputTensors>
requires detail::OverwriteTransformTensors<OutputTensor, FirstInputTensor, RestInputTensors...>
void uni20::assign_transform (BackendSelector selector, async::Async< OutputTensor > &output, Function &&function, async::Async< FirstInputTensor > const &first_input, async::Async< RestInputTensors > const &... rest_inputs)
 Schedule a variadic elementwise overwrite with an explicit backend selector.
 
template<AsyncTensorOutput OutputTensor, class Value >
void uni20::fill (async::Async< OutputTensor > &output, Value &&value)
 Fill an existing async Tensor without reading its old values.
 
template<class BackendSelector , AsyncTensorOutput OutputTensor, class Value >
void uni20::fill (BackendSelector selector, async::Async< OutputTensor > &output, Value &&value)
 Fill an existing async Tensor without reading its old values.
 
template<AsyncTensorOutput OutputTensor, class Function , TensorView... InputTensors>
requires detail::UpdateTransformTensors<OutputTensor, InputTensors...>
void uni20::transform_inplace (async::Async< OutputTensor > &output, Function &&function, async::Async< InputTensors > const &... inputs)
 Schedule a variadic elementwise update using the static Tensor selector.
 
template<class BackendSelector , AsyncTensorOutput OutputTensor, class Function , TensorView... InputTensors>
requires detail::UpdateTransformTensors<OutputTensor, InputTensors...>
void uni20::transform_inplace (BackendSelector selector, async::Async< OutputTensor > &output, Function &&function, async::Async< InputTensors > const &... inputs)
 Schedule a variadic elementwise update with an explicit backend selector.
 

Detailed Description

Async Tensor wrappers for elementwise overwrite and update operations.