Legion Runtime
Public Member Functions | List of all members
Legion::ShardingFunctor Class Reference

#include <legion.h>

Public Member Functions

virtual bool use_points (void) const
 
virtual ShardID shard (const DomainPoint &index_point, const Domain &index_domain, const size_t total_shards)
 
virtual DomainPoint shard_points (const DomainPoint &index_point, const Domain &index_domain, const std::vector< DomainPoint > &shard_points, const Domain &shard_domain)
 
virtual bool is_invertible (void) const
 
virtual void invert (ShardID shard, const Domain &sharding_domain, const Domain &index_domain, const size_t total_shards, std::vector< DomainPoint > &points)
 
virtual void invert_points (const DomainPoint &shard_point, const std::vector< DomainPoint > &shard_points, const Domain &shard_domain, const Domain &index_domain, const Domain &sharding_domain, std::vector< DomainPoint > &index_points)
 

Detailed Description

A sharding functor is a object that is during control replication of a task to determine which points of an operation are owned by a given shard. Unlike projection functors, these functors are not given access to the operation being sharded. We provide access to the local processor on which this operation exists and the mapping of shards to processors. Legion will assume that this functor is functional so the same arguments passed to functor will always result in the same operation.


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