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

Backend-dispatched elementwise overwrite and update operations. More...

#include <uni20/common/trace.hpp>
#include <uni20/linalg/backend_selector.hpp>
#include <uni20/linalg/backends/cpu/transform.hpp>
#include <uni20/linalg/dispatch.hpp>
#include <uni20/linalg/elementwise_functions.hpp>
#include <uni20/linalg/operation_tags.hpp>
#include <uni20/mdspan/concepts.hpp>
#include <uni20/tensor/access.hpp>
#include <uni20/tensor/concepts.hpp>
#include <uni20/tensor/output.hpp>
#include <cstddef>
#include <tuple>
#include <type_traits>
#include <utility>
Include dependency graph for tensor/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<class BackendSelector , class OutputMdspan , class Function , class... InputMdspans>
requires detail::OverwriteTransformSpans<OutputMdspan, InputMdspans...>
void uni20::assign_transform (BackendSelector &&selector, OutputMdspan &&output, Function &&function, InputMdspans &&... inputs)
 Overwrite a fixed-shape mdspan through an explicit backend selector.
 
template<class BackendSelector , MutableTensorView OutputTensor, class Function >
void uni20::assign_transform (BackendSelector &&selector, OutputTensor &&output, Function &&function)
 Overwrite a fixed-shape Tensor from a nullary element generator.
 
template<class BackendSelector , class OutputTensor , class Function , class FirstInputTensor , class... RestInputTensors>
requires detail::OverwriteTransformTensors<OutputTensor, FirstInputTensor, RestInputTensors...>
void uni20::assign_transform (BackendSelector &&selector, OutputTensor &&output, Function &&function, FirstInputTensor const &first_input, RestInputTensors const &... rest_inputs)
 Overwrite a Tensor output through an explicit backend selector.
 
template<MutableTensorView OutputTensor, class Function >
void uni20::assign_transform (OutputTensor &&output, Function &&function)
 Overwrite a fixed-shape Tensor from a nullary element generator.
 
template<class OutputTensor , class Function , class FirstInputTensor , class... RestInputTensors>
requires detail::OverwriteTransformTensors<OutputTensor, FirstInputTensor, RestInputTensors...>
void uni20::assign_transform (OutputTensor &&output, Function &&function, FirstInputTensor const &first_input, RestInputTensors const &... rest_inputs)
 Overwrite a Tensor output using its operands' default backend selector.
 
template<class BackendSelector , class Output , class Value >
requires (detail::OverwriteTransformSpans<Output> || MutableTensorView<Output>)
void uni20::fill (BackendSelector &&selector, Output &&output, Value &&value)
 Fill a fixed-shape mdspan or Tensor without reading its old values.
 
template<MutableTensorView Output, class Value >
void uni20::fill (Output &&output, Value &&value)
 Fill a fixed-shape Tensor without reading its old values.
 
template<class BackendSelector , class OutputMdspan , class Function , class... InputMdspans>
requires detail::UpdateTransformSpans<OutputMdspan, InputMdspans...>
void uni20::transform_inplace (BackendSelector &&selector, OutputMdspan &&output, Function &&function, InputMdspans &&... inputs)
 Update a fixed-shape mdspan through an explicit backend selector.
 
template<class BackendSelector , class OutputTensor , class Function , class... InputTensors>
requires detail::UpdateTransformTensors<OutputTensor, InputTensors...>
void uni20::transform_inplace (BackendSelector &&selector, OutputTensor &&output, Function &&function, InputTensors const &... inputs)
 Update a Tensor output through an explicit backend selector.
 
template<class OutputTensor , class Function , class... InputTensors>
requires detail::UpdateTransformTensors<OutputTensor, InputTensors...>
void uni20::transform_inplace (OutputTensor &&output, Function &&function, InputTensors const &... inputs)
 Update a Tensor output using its operands' default backend selector.
 

Detailed Description

Backend-dispatched elementwise overwrite and update operations.