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

Reference CPU backend for generic elementwise transforms. More...

#include <uni20/common/trace.hpp>
#include <uni20/linalg/backends/cpu/strided_transform.hpp>
#include <uni20/linalg/dispatch.hpp>
#include <uni20/linalg/operation_tags.hpp>
#include <uni20/mdspan/concepts.hpp>
#include <uni20/tensor/access.hpp>
#include <uni20/tensor/concepts.hpp>
#include <array>
#include <concepts>
#include <cstddef>
#include <functional>
#include <tuple>
#include <type_traits>
#include <utility>
Include dependency graph for linalg/backends/cpu/transform.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 

Functions

template<class Function , uni20::MutableMdspecLike OutputMdspan, uni20::MdspecLike... InputMdspans>
requires uni20::HostWritableMdspec<OutputMdspan> && (uni20::HostReadableMdspec<InputMdspans> && ...)
consteval auto uni20::linalg::kernel_accepts_types (CpuReferenceBackend const &, transform_inplace_op< Function > const &, OutputMdspan &, InputMdspans &...)
 Report eligibility for host-accessible mdspec update transforms.
 
template<class Function , uni20::MutableMdspecLike OutputMdspan, uni20::MdspecLike... InputMdspans>
requires uni20::HostWritableMdspec<OutputMdspan> && (uni20::HostReadableMdspec<InputMdspans> && ...)
consteval auto uni20::linalg::kernel_accepts_types (CpuReferenceBackend const &, transform_op< Function > const &, OutputMdspan &, InputMdspans &...)
 Report eligibility for host-accessible mdspec overwrite transforms.
 
template<class Function , uni20::MutableMdspecLike OutputMdspan, uni20::MdspecLike... InputMdspans>
requires uni20::HostWritableMdspec<OutputMdspan> && (uni20::HostReadableMdspec<InputMdspans> && ...)
KernelAttempt uni20::linalg::try_kernel (CpuReferenceBackend, transform_inplace_op< Function > const &operation, OutputMdspan &output, InputMdspans &... inputs)
 Resolve host access and apply an update transform.
 
template<class Function , uni20::MutableMdspecLike OutputMdspan, uni20::MdspecLike... InputMdspans>
requires uni20::HostWritableMdspec<OutputMdspan> && (uni20::HostReadableMdspec<InputMdspans> && ...)
KernelAttempt uni20::linalg::try_kernel (CpuReferenceBackend, transform_op< Function > const &operation, OutputMdspan &output, InputMdspans &... inputs)
 Resolve host access and apply an overwrite transform.
 

Detailed Description

Reference CPU backend for generic elementwise transforms.