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

Backend-dispatched copies into existing mdspan and tensor outputs. More...

#include <uni20/common/trace.hpp>
#include <uni20/linalg/backends/cpu/copy.hpp>
#include <uni20/linalg/dispatch.hpp>
#include <uni20/linalg/operation_tags.hpp>
#include <uni20/mdspan/concepts.hpp>
#include <uni20/tensor/output.hpp>
#include <cstddef>
#include <type_traits>
#include <utility>
Include dependency graph for copy_into.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<MutableTensorView Output, TensorView Input>
requires (tensor_mdspec_t<Output>::rank() == tensor_mdspec_t<Input>::rank())
void uni20::assign_through (Output &output, Input const &input)
 Assign tensor values through a mutable tensor alias descriptor.
 
template<class BackendSelector , class OutputMdspan , class InputMdspan >
requires detail::CopySpans<OutputMdspan, InputMdspan>
void uni20::copy (BackendSelector &&selector, OutputMdspan &&output, InputMdspan &&input)
 Copy between fixed-shape mdspan-like operands through an explicit selector.
 
template<class BackendSelector , class OutputTensor , class InputTensor >
requires detail::CopyTensors<OutputTensor, InputTensor>
void uni20::copy (BackendSelector &&selector, OutputTensor &&output, InputTensor const &input)
 Copy into a resizable or already-compatible tensor through an explicit selector.
 
template<class OutputTensor , class InputTensor >
requires detail::CopyTensors<OutputTensor, InputTensor>
void uni20::copy (OutputTensor &&output, InputTensor const &input)
 Copy into a tensor using the operands' default backend selector.
 

Detailed Description

Backend-dispatched copies into existing mdspan and tensor outputs.