Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
PRealm::IndexSpace< N, T > Class Template Reference

#include <prealm.h>

Inheritance diagram for PRealm::IndexSpace< N, T >:
Collaboration diagram for PRealm::IndexSpace< N, T >:

Public Member Functions

 IndexSpace (void)
 
 IndexSpace (const Realm::IndexSpace< N, T > &i)
 
 IndexSpace (const IndexSpace< N, T > &i)=default
 
 IndexSpace (IndexSpace< N, T > &&i)=default
 
IndexSpaceoperator= (const Realm::IndexSpace< N, T > &i)
 
IndexSpaceoperator= (const IndexSpace< N, T > &i)=default
 
IndexSpaceoperator= (IndexSpace< N, T > &&i)=default
 
Event make_valid (bool precise=true) const
 
Event fill (const std::vector< CopySrcDstField > &dsts, const ProfilingRequestSet &requests, const void *fill_value, size_t fill_value_size, Event wait_on=Event::NO_EVENT, int priority=0) const
 
Event copy (const std::vector< CopySrcDstField > &srcs, const std::vector< CopySrcDstField > &dsts, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
 
Event copy (const std::vector< CopySrcDstField > &srcs, const std::vector< CopySrcDstField > &dsts, const std::vector< const typename CopyIndirection< N, T >::Base * > &indirects, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
 
Event create_equal_subspace (size_t count, size_t granularity, unsigned index, IndexSpace< N, T > &subspace, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
Event create_equal_subspaces (size_t count, size_t granularity, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
Event create_weighted_subspaces (size_t count, size_t granularity, const std::vector< int > &weights, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
Event create_weighted_subspaces (size_t count, size_t granularity, const std::vector< size_t > &weights, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<typename FT >
Event create_subspace_by_field (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &field_data, FT color, IndexSpace< N, T > &subspace, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<typename FT >
Event create_subspaces_by_field (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &field_data, const std::vector< FT > &colors, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<typename FT , typename FT2 >
Event create_subspace_by_field (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &field_data, const CodeDescriptor &codedesc, FT2 color, IndexSpace< N, T > &subspace, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<typename FT , typename FT2 >
Event create_subspaces_by_field (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &field_data, const CodeDescriptor &codedesc, const std::vector< FT2 > &colors, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 , typename TRANSFORM >
Event create_subspace_by_image (const TRANSFORM &transform, const IndexSpace< N2, T2 > &source, const IndexSpace< N, T > &image, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 , typename TRANSFORM >
Event create_subspaces_by_image (const TRANSFORM &transform, const std::vector< IndexSpace< N2, T2 > > &sources, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspaces_by_image (const DomainTransform< N, T, N2, T2 > &domain_transform, const std::vector< IndexSpace< N2, T2 > > &sources, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspace_by_image (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &field_data, const IndexSpace< N2, T2 > &source, IndexSpace< N, T > &image, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspaces_by_image (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &sources, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspace_by_image (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Rect< N, T > > > &field_data, const IndexSpace< N2, T2 > &source, IndexSpace< N, T > &image, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspaces_by_image (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Rect< N, T > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &sources, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspaces_by_image_with_difference (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &sources, const std::vector< IndexSpace< N, T > > &diff_rhs, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspaces_by_image_with_difference (const DomainTransform< N, T, N2, T2 > &domain_transform, const std::vector< IndexSpace< N2, T2 > > &sources, const std::vector< IndexSpace< N, T > > &diff_rhs, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 , typename TRANSFORM >
Event create_subspace_by_preimage (const TRANSFORM &transform, const IndexSpace< N2, T2 > &target, IndexSpace< N, T > &preimage, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 , typename TRANSFORM >
Event create_subspaces_by_preimage (const TRANSFORM &transform, const std::vector< IndexSpace< N2, T2 > > &targets, std::vector< IndexSpace< N, T > > &preimages, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspaces_by_preimage (const DomainTransform< N2, T2, N, T > &domain_transform, const std::vector< IndexSpace< N2, T2 > > &targets, std::vector< IndexSpace< N, T > > &preimages, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspace_by_preimage (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Point< N2, T2 > > > &field_data, const IndexSpace< N2, T2 > &target, IndexSpace< N, T > &preimage, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspaces_by_preimage (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Point< N2, T2 > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &targets, std::vector< IndexSpace< N, T > > &preimages, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspace_by_preimage (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Rect< N2, T2 > > > &field_data, const IndexSpace< N2, T2 > &target, IndexSpace< N, T > &preimage, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
Event create_subspaces_by_preimage (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Rect< N2, T2 > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &targets, std::vector< IndexSpace< N, T > > &preimages, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
- Public Member Functions inherited from Realm::IndexSpace< N, T >
REALM_CUDA_HD IndexSpace (void)
 
REALM_CUDA_HD IndexSpace (const Rect< N, T > &_bounds)
 
 IndexSpace (const Rect< N, T > &_bounds, SparsityMap< N, T > _sparsity)
 
bool overlaps (const IndexSpace< N, T > &other) const
 
bool overlaps_approx (const IndexSpace< N, T > &other) const
 
template<typename FT >
REALM_PUBLIC_API Event create_subspace_by_field (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &field_data, FT color, IndexSpace< N, T > &subspace, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<typename FT >
REALM_PUBLIC_API Event create_subspaces_by_field (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &field_data, const std::vector< FT > &colors, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<typename FT , typename FT2 >
REALM_PUBLIC_API Event create_subspaces_by_field (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &field_data, const CodeDescriptor &codedesc, const std::vector< FT2 > &colors, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
 IndexSpace (const std::vector< Point< N, T > > &points, bool disjoint=false)
 
 IndexSpace (const std::vector< Rect< N, T > > &rects, bool disjoint=false)
 
void destroy (Event wait_on=Event::NO_EVENT)
 
REALM_CUDA_HD bool empty (void) const
 
REALM_CUDA_HD bool dense (void) const
 
Event make_valid (bool precise=true) const
 
bool is_valid (bool precise=true) const
 
IndexSpace< N, T > tighten (bool precise=true) const
 
bool contains (const Point< N, T > &p) const
 
bool contains_all (const Rect< N, T > &r) const
 
bool contains_any (const Rect< N, T > &r) const
 
size_t volume (void) const
 
bool contains_approx (const Point< N, T > &p) const
 
bool contains_all_approx (const Rect< N, T > &r) const
 
bool contains_any_approx (const Rect< N, T > &r) const
 
size_t volume_approx (void) const
 
REALM_PUBLIC_API bool compute_covering (size_t max_rects, int max_overhead, std::vector< Rect< N, T > > &covering) const
 
template<typename LAMBDA >
REALM_PUBLIC_API void foreach_subrect (LAMBDA lambda)
 
template<typename LAMBDA >
REALM_PUBLIC_API void foreach_subrect (LAMBDA lambda, const Rect< N, T > &restriction)
 
REALM_PUBLIC_API Event fill (const std::vector< CopySrcDstField > &dsts, const ProfilingRequestSet &requests, const void *fill_value, size_t fill_value_size, Event wait_on=Event::NO_EVENT, int priority=0) const
 
REALM_PUBLIC_API Event copy (const std::vector< CopySrcDstField > &srcs, const std::vector< CopySrcDstField > &dsts, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
 
REALM_PUBLIC_API Event copy (std::vector< CopySrcDstField > &&srcs, std::vector< CopySrcDstField > &&dsts, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
 
REALM_PUBLIC_API Event copy (const std::vector< CopySrcDstField > &srcs, const std::vector< CopySrcDstField > &dsts, const std::vector< const typename CopyIndirection< N, T >::Base * > &indirects, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
 
REALM_PUBLIC_API Event copy (std::vector< CopySrcDstField > &&srcs, std::vector< CopySrcDstField > &&dsts, const std::vector< const typename CopyIndirection< N, T >::Base * > &indirects, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
 
REALM_PUBLIC_API Event create_equal_subspace (size_t count, size_t granularity, unsigned index, IndexSpace< N, T > &subspace, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
REALM_PUBLIC_API Event create_equal_subspaces (size_t count, size_t granularity, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
REALM_PUBLIC_API Event create_weighted_subspaces (size_t count, size_t granularity, const std::vector< int > &weights, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
REALM_PUBLIC_API Event create_weighted_subspaces (size_t count, size_t granularity, const std::vector< size_t > &weights, std::vector< IndexSpace< N, T > > &subspaces, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<typename FT , typename FT2 >
REALM_PUBLIC_API Event create_subspace_by_field (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &field_data, const CodeDescriptor &codedesc, FT2 color, IndexSpace< N, T > &subspace, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 , typename TRANSFORM >
REALM_PUBLIC_API Event create_subspace_by_image (const TRANSFORM &transform, const IndexSpace< N2, T2 > &source, const IndexSpace< N, T > &image, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 , typename TRANSFORM >
REALM_PUBLIC_API Event create_subspaces_by_image (const TRANSFORM &transform, const std::vector< IndexSpace< N2, T2 > > &sources, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspaces_by_image (const DomainTransform< N, T, N2, T2 > &domain_transform, const std::vector< IndexSpace< N2, T2 > > &sources, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspace_by_image (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &field_data, const IndexSpace< N2, T2 > &source, IndexSpace< N, T > &image, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspaces_by_image (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &sources, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspace_by_image (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Rect< N, T > > > &field_data, const IndexSpace< N2, T2 > &source, IndexSpace< N, T > &image, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspaces_by_image (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Rect< N, T > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &sources, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspaces_by_image_with_difference (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &sources, const std::vector< IndexSpace< N, T > > &diff_rhs, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspaces_by_image_with_difference (const DomainTransform< N, T, N2, T2 > &domain_transform, const std::vector< IndexSpace< N2, T2 > > &sources, const std::vector< IndexSpace< N, T > > &diff_rhs, std::vector< IndexSpace< N, T > > &images, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 , typename TRANSFORM >
REALM_PUBLIC_API Event create_subspace_by_preimage (const TRANSFORM &transform, const IndexSpace< N2, T2 > &target, IndexSpace< N, T > &preimage, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 , typename TRANSFORM >
REALM_PUBLIC_API Event create_subspaces_by_preimage (const TRANSFORM &transform, const std::vector< IndexSpace< N2, T2 > > &targets, std::vector< IndexSpace< N, T > > &preimages, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspaces_by_preimage (const DomainTransform< N2, T2, N, T > &domain_transform, const std::vector< IndexSpace< N2, T2 > > &targets, std::vector< IndexSpace< N, T > > &preimages, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspace_by_preimage (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Point< N2, T2 > > > &field_data, const IndexSpace< N2, T2 > &target, IndexSpace< N, T > &preimage, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspaces_by_preimage (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Point< N2, T2 > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &targets, std::vector< IndexSpace< N, T > > &preimages, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspace_by_preimage (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Rect< N2, T2 > > > &field_data, const IndexSpace< N2, T2 > &target, IndexSpace< N, T > &preimage, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_subspaces_by_preimage (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Rect< N2, T2 > > > &field_data, const std::vector< IndexSpace< N2, T2 > > &targets, std::vector< IndexSpace< N, T > > &preimages, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 
template<int N2, typename T2 >
REALM_PUBLIC_API Event create_association (const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Point< N2, T2 > > > &field_data, const IndexSpace< N2, T2 > &range, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT) const
 

Static Public Member Functions

static Event compute_union (const IndexSpace< N, T > &lhs, const IndexSpace< N, T > &rhs, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_unions (const std::vector< IndexSpace< N, T > > &lhss, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_unions (const IndexSpace< N, T > &lhs, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_unions (const std::vector< IndexSpace< N, T > > &lhss, const IndexSpace< N, T > &rhs, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_intersection (const IndexSpace< N, T > &lhs, const IndexSpace< N, T > &rhs, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_intersections (const std::vector< IndexSpace< N, T > > &lhss, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_intersections (const IndexSpace< N, T > &lhs, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_intersections (const std::vector< IndexSpace< N, T > > &lhss, const IndexSpace< N, T > &rhs, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_difference (const IndexSpace< N, T > &lhs, const IndexSpace< N, T > &rhs, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_differences (const std::vector< IndexSpace< N, T > > &lhss, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_differences (const IndexSpace< N, T > &lhs, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_differences (const std::vector< IndexSpace< N, T > > &lhss, const IndexSpace< N, T > &rhs, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_union (const std::vector< IndexSpace< N, T > > &subspaces, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static Event compute_intersection (const std::vector< IndexSpace< N, T > > &subspaces, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
- Static Public Member Functions inherited from Realm::IndexSpace< N, T >
static REALM_PUBLIC_API Event compute_union (const std::vector< IndexSpace< N, T > > &subspaces, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_intersection (const std::vector< IndexSpace< N, T > > &subspaces, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_CUDA_HD IndexSpace< N, T > make_empty (void)
 
static REALM_PUBLIC_API Event compute_union (const IndexSpace< N, T > &lhs, const IndexSpace< N, T > &rhs, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_unions (const std::vector< IndexSpace< N, T > > &lhss, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_unions (const IndexSpace< N, T > &lhs, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_unions (const std::vector< IndexSpace< N, T > > &lhss, const IndexSpace< N, T > &rhs, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_intersection (const IndexSpace< N, T > &lhs, const IndexSpace< N, T > &rhs, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_intersections (const std::vector< IndexSpace< N, T > > &lhss, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_intersections (const IndexSpace< N, T > &lhs, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_intersections (const std::vector< IndexSpace< N, T > > &lhss, const IndexSpace< N, T > &rhs, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_difference (const IndexSpace< N, T > &lhs, const IndexSpace< N, T > &rhs, IndexSpace< N, T > &result, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_differences (const std::vector< IndexSpace< N, T > > &lhss, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_differences (const IndexSpace< N, T > &lhs, const std::vector< IndexSpace< N, T > > &rhss, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 
static REALM_PUBLIC_API Event compute_differences (const std::vector< IndexSpace< N, T > > &lhss, const IndexSpace< N, T > &rhs, std::vector< IndexSpace< N, T > > &results, const ProfilingRequestSet &reqs, Event wait_on=Event::NO_EVENT)
 

Additional Inherited Members

- Public Attributes inherited from Realm::IndexSpace< N, T >
Rect< N, T > bounds
 
SparsityMap< N, T > sparsity
 

Constructor & Destructor Documentation

◆ IndexSpace() [1/4]

template<int N, typename T >
PRealm::IndexSpace< N, T >::IndexSpace ( void  )
inline

◆ IndexSpace() [2/4]

template<int N, typename T >
PRealm::IndexSpace< N, T >::IndexSpace ( const Realm::IndexSpace< N, T > &  i)
inline

◆ IndexSpace() [3/4]

template<int N, typename T >
PRealm::IndexSpace< N, T >::IndexSpace ( const IndexSpace< N, T > &  i)
default

◆ IndexSpace() [4/4]

template<int N, typename T >
PRealm::IndexSpace< N, T >::IndexSpace ( IndexSpace< N, T > &&  i)
default

Member Function Documentation

◆ compute_difference()

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_difference ( const IndexSpace< N, T > &  lhs,
const IndexSpace< N, T > &  rhs,
IndexSpace< N, T > &  result,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_differences() [1/3]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_differences ( const IndexSpace< N, T > &  lhs,
const std::vector< IndexSpace< N, T > > &  rhss,
std::vector< IndexSpace< N, T > > &  results,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_differences() [2/3]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_differences ( const std::vector< IndexSpace< N, T > > &  lhss,
const IndexSpace< N, T > &  rhs,
std::vector< IndexSpace< N, T > > &  results,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_differences() [3/3]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_differences ( const std::vector< IndexSpace< N, T > > &  lhss,
const std::vector< IndexSpace< N, T > > &  rhss,
std::vector< IndexSpace< N, T > > &  results,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_intersection() [1/2]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_intersection ( const IndexSpace< N, T > &  lhs,
const IndexSpace< N, T > &  rhs,
IndexSpace< N, T > &  result,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_intersection() [2/2]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_intersection ( const std::vector< IndexSpace< N, T > > &  subspaces,
IndexSpace< N, T > &  result,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_intersections() [1/3]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_intersections ( const IndexSpace< N, T > &  lhs,
const std::vector< IndexSpace< N, T > > &  rhss,
std::vector< IndexSpace< N, T > > &  results,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_intersections() [2/3]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_intersections ( const std::vector< IndexSpace< N, T > > &  lhss,
const IndexSpace< N, T > &  rhs,
std::vector< IndexSpace< N, T > > &  results,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_intersections() [3/3]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_intersections ( const std::vector< IndexSpace< N, T > > &  lhss,
const std::vector< IndexSpace< N, T > > &  rhss,
std::vector< IndexSpace< N, T > > &  results,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_union() [1/2]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_union ( const IndexSpace< N, T > &  lhs,
const IndexSpace< N, T > &  rhs,
IndexSpace< N, T > &  result,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_union() [2/2]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_union ( const std::vector< IndexSpace< N, T > > &  subspaces,
IndexSpace< N, T > &  result,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_unions() [1/3]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_unions ( const IndexSpace< N, T > &  lhs,
const std::vector< IndexSpace< N, T > > &  rhss,
std::vector< IndexSpace< N, T > > &  results,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_unions() [2/3]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_unions ( const std::vector< IndexSpace< N, T > > &  lhss,
const IndexSpace< N, T > &  rhs,
std::vector< IndexSpace< N, T > > &  results,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ compute_unions() [3/3]

template<int N, typename T >
static Event PRealm::IndexSpace< N, T >::compute_unions ( const std::vector< IndexSpace< N, T > > &  lhss,
const std::vector< IndexSpace< N, T > > &  rhss,
std::vector< IndexSpace< N, T > > &  results,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
)
static

◆ copy() [1/2]

template<int N, typename T >
Event PRealm::IndexSpace< N, T >::copy ( const std::vector< CopySrcDstField > &  srcs,
const std::vector< CopySrcDstField > &  dsts,
const ProfilingRequestSet requests,
Event  wait_on = Event::NO_EVENT,
int  priority = 0 
) const

◆ copy() [2/2]

template<int N, typename T >
Event PRealm::IndexSpace< N, T >::copy ( const std::vector< CopySrcDstField > &  srcs,
const std::vector< CopySrcDstField > &  dsts,
const std::vector< const typename CopyIndirection< N, T >::Base * > &  indirects,
const ProfilingRequestSet requests,
Event  wait_on = Event::NO_EVENT,
int  priority = 0 
) const

◆ create_equal_subspace()

template<int N, typename T >
Event PRealm::IndexSpace< N, T >::create_equal_subspace ( size_t  count,
size_t  granularity,
unsigned  index,
IndexSpace< N, T > &  subspace,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_equal_subspaces()

template<int N, typename T >
Event PRealm::IndexSpace< N, T >::create_equal_subspaces ( size_t  count,
size_t  granularity,
std::vector< IndexSpace< N, T > > &  subspaces,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspace_by_field() [1/2]

template<int N, typename T >
template<typename FT , typename FT2 >
Event PRealm::IndexSpace< N, T >::create_subspace_by_field ( const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &  field_data,
const CodeDescriptor codedesc,
FT2  color,
IndexSpace< N, T > &  subspace,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspace_by_field() [2/2]

template<int N, typename T >
template<typename FT >
Event PRealm::IndexSpace< N, T >::create_subspace_by_field ( const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &  field_data,
FT  color,
IndexSpace< N, T > &  subspace,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspace_by_image() [1/3]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspace_by_image ( const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &  field_data,
const IndexSpace< N2, T2 > &  source,
IndexSpace< N, T > &  image,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspace_by_image() [2/3]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspace_by_image ( const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Rect< N, T > > > &  field_data,
const IndexSpace< N2, T2 > &  source,
IndexSpace< N, T > &  image,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspace_by_image() [3/3]

template<int N, typename T >
template<int N2, typename T2 , typename TRANSFORM >
Event PRealm::IndexSpace< N, T >::create_subspace_by_image ( const TRANSFORM &  transform,
const IndexSpace< N2, T2 > &  source,
const IndexSpace< N, T > &  image,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspace_by_preimage() [1/3]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspace_by_preimage ( const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Point< N2, T2 > > > &  field_data,
const IndexSpace< N2, T2 > &  target,
IndexSpace< N, T > &  preimage,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspace_by_preimage() [2/3]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspace_by_preimage ( const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Rect< N2, T2 > > > &  field_data,
const IndexSpace< N2, T2 > &  target,
IndexSpace< N, T > &  preimage,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspace_by_preimage() [3/3]

template<int N, typename T >
template<int N2, typename T2 , typename TRANSFORM >
Event PRealm::IndexSpace< N, T >::create_subspace_by_preimage ( const TRANSFORM &  transform,
const IndexSpace< N2, T2 > &  target,
IndexSpace< N, T > &  preimage,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_field() [1/2]

template<int N, typename T >
template<typename FT , typename FT2 >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_field ( const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &  field_data,
const CodeDescriptor codedesc,
const std::vector< FT2 > &  colors,
std::vector< IndexSpace< N, T > > &  subspaces,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_field() [2/2]

template<int N, typename T >
template<typename FT >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_field ( const std::vector< FieldDataDescriptor< IndexSpace< N, T >, FT > > &  field_data,
const std::vector< FT > &  colors,
std::vector< IndexSpace< N, T > > &  subspaces,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_image() [1/4]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_image ( const DomainTransform< N, T, N2, T2 > &  domain_transform,
const std::vector< IndexSpace< N2, T2 > > &  sources,
std::vector< IndexSpace< N, T > > &  images,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_image() [2/4]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_image ( const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &  field_data,
const std::vector< IndexSpace< N2, T2 > > &  sources,
std::vector< IndexSpace< N, T > > &  images,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_image() [3/4]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_image ( const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Rect< N, T > > > &  field_data,
const std::vector< IndexSpace< N2, T2 > > &  sources,
std::vector< IndexSpace< N, T > > &  images,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_image() [4/4]

template<int N, typename T >
template<int N2, typename T2 , typename TRANSFORM >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_image ( const TRANSFORM &  transform,
const std::vector< IndexSpace< N2, T2 > > &  sources,
std::vector< IndexSpace< N, T > > &  images,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_image_with_difference() [1/2]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_image_with_difference ( const DomainTransform< N, T, N2, T2 > &  domain_transform,
const std::vector< IndexSpace< N2, T2 > > &  sources,
const std::vector< IndexSpace< N, T > > &  diff_rhs,
std::vector< IndexSpace< N, T > > &  images,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_image_with_difference() [2/2]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_image_with_difference ( const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &  field_data,
const std::vector< IndexSpace< N2, T2 > > &  sources,
const std::vector< IndexSpace< N, T > > &  diff_rhs,
std::vector< IndexSpace< N, T > > &  images,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_preimage() [1/4]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_preimage ( const DomainTransform< N2, T2, N, T > &  domain_transform,
const std::vector< IndexSpace< N2, T2 > > &  targets,
std::vector< IndexSpace< N, T > > &  preimages,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_preimage() [2/4]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_preimage ( const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Point< N2, T2 > > > &  field_data,
const std::vector< IndexSpace< N2, T2 > > &  targets,
std::vector< IndexSpace< N, T > > &  preimages,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_preimage() [3/4]

template<int N, typename T >
template<int N2, typename T2 >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_preimage ( const std::vector< FieldDataDescriptor< IndexSpace< N, T >, Rect< N2, T2 > > > &  field_data,
const std::vector< IndexSpace< N2, T2 > > &  targets,
std::vector< IndexSpace< N, T > > &  preimages,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_subspaces_by_preimage() [4/4]

template<int N, typename T >
template<int N2, typename T2 , typename TRANSFORM >
Event PRealm::IndexSpace< N, T >::create_subspaces_by_preimage ( const TRANSFORM &  transform,
const std::vector< IndexSpace< N2, T2 > > &  targets,
std::vector< IndexSpace< N, T > > &  preimages,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_weighted_subspaces() [1/2]

template<int N, typename T >
Event PRealm::IndexSpace< N, T >::create_weighted_subspaces ( size_t  count,
size_t  granularity,
const std::vector< int > &  weights,
std::vector< IndexSpace< N, T > > &  subspaces,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ create_weighted_subspaces() [2/2]

template<int N, typename T >
Event PRealm::IndexSpace< N, T >::create_weighted_subspaces ( size_t  count,
size_t  granularity,
const std::vector< size_t > &  weights,
std::vector< IndexSpace< N, T > > &  subspaces,
const ProfilingRequestSet reqs,
Event  wait_on = Event::NO_EVENT 
) const

◆ fill()

template<int N, typename T >
Event PRealm::IndexSpace< N, T >::fill ( const std::vector< CopySrcDstField > &  dsts,
const ProfilingRequestSet requests,
const void *  fill_value,
size_t  fill_value_size,
Event  wait_on = Event::NO_EVENT,
int  priority = 0 
) const

◆ make_valid()

template<int N, typename T >
Event PRealm::IndexSpace< N, T >::make_valid ( bool  precise = true) const

◆ operator=() [1/3]

template<int N, typename T >
IndexSpace & PRealm::IndexSpace< N, T >::operator= ( const IndexSpace< N, T > &  i)
default

◆ operator=() [2/3]

template<int N, typename T >
IndexSpace & PRealm::IndexSpace< N, T >::operator= ( const Realm::IndexSpace< N, T > &  i)
inline

◆ operator=() [3/3]

template<int N, typename T >
IndexSpace & PRealm::IndexSpace< N, T >::operator= ( IndexSpace< N, T > &&  i)
default

The documentation for this class was generated from the following file: