18#ifndef REALM_TRANSFER_UTILS_H
19#define REALM_TRANSFER_UTILS_H
23#include <unordered_map>
32 template <
int N,
typename T>
34 const Rect<N, T> &restriction,
const int *dim_order,
48 template <
int N,
typename T>
51 const int *dim_order);
72 template <
int N,
typename T>
75 const int dim_order[N],
size_t field_size,
size_t &total_bytes,
77 std::unordered_map<
int, std::pair<size_t, size_t>> &count_strides);
81#include "realm/transfer/transfer_utils.inl"
Definition inst_layout.h:316
Definition activemsg.h:38
bool compute_target_subrect(const Rect< N, T > &layout_bounds, const Rect< N, T > &cur_rect, Point< N, T > &cur_point, Rect< N, T > &target_subrect, const int *dim_order)
int compact_affine_dims(const AffineLayoutPiece< N, T > *affine, const Rect< N, T > &subrect, const int dim_order[N], size_t field_size, size_t &total_bytes, size_t &contig_bytes, std::unordered_map< int, std::pair< size_t, size_t > > &count_strides)
Computes compact affine addressing information for a subrectangle.
bool next_subrect(const Rect< N, T > &domain, const Point< N, T > &start, const Rect< N, T > &restriction, const int *dim_order, Rect< N, T > &subrect, Point< N, T > &next_start)