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

Helpers for constructing merged iteration plans over strided tensors. More...

#include <uni20/common/static_vector.hpp>
#include <uni20/mdspan/concepts.hpp>
#include <uni20/mdspan/strides.hpp>
#include <algorithm>
#include <array>
#include <cstddef>
#include <cstdlib>
#include <limits>
#include <tuple>
#include <utility>
Include dependency graph for iteration_plan.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uni20::extent_stride< ExtentT, StrideT >
 Represents a single dimension's extent and stride for iteration planning. More...
 
struct  uni20::iteration_offset_range
 Inclusive range of handle-relative offsets visited by an iteration plan. More...
 
struct  uni20::multi_iteration_plan< OperandCount, MaximumRank >
 Compact affine iteration plan shared by host and device backends. More...
 

Namespaces

namespace  uni20
 

Functions

template<typename Mapping >
auto uni20::make_iteration_plan_with_offset (Mapping const &mapping)
 Construct a merged iteration plan and offset for a single mapping.
 
template<typename... Mappings>
auto uni20::make_multi_iteration_plan (std::tuple< Mappings... > const &mappings)
 Build a merged iteration plan for multiple tensors sharing the same extents.
 

Detailed Description

Helpers for constructing merged iteration plans over strided tensors.