legate::mapping::ProxyInstanceMappingPolicy#

class ProxyInstanceMappingPolicy#

An object that models the InstanceMappingPolicy class for use in specifying mapping decisions in a TaskConfig object.

This class is nearly identical to InstanceMappingPolicy except that the target member is a std::optional instead of a StoreTarget. Setting target to std::nullopt indicates that the InstanceMappingPolicy that is synthesized during mapping-time should take the first available memory type from the given options. If target is set to a concrete StoreTarget, then this store target is always chosen.

Public Functions

inline ProxyInstanceMappingPolicy &&with_target(
std::optional<StoreTarget> tgt
) &&#

Changes the store target.

Parameters:

tgt – A new store target or std::nullopt if the target should be chosen at mapping-time.

Returns:

This instance mapping policy

inline ProxyInstanceMappingPolicy &&with_allocation_policy(
AllocPolicy alloc
) &&#

Changes the allocation policy.

Parameters:

alloc – A new allocation policy

Returns:

This instance mapping policy

inline ProxyInstanceMappingPolicy &&with_ordering(
std::optional<DimOrdering> ord
) &&#

Changes the dimension ordering.

Parameters:

ord – A new dimension ordering, or std::nullopt if the dimension ordering should be chosen at mapping-time. See InstanceMappingPolicy::ordering for more information.

Returns:

This instance mapping policy

inline ProxyInstanceMappingPolicy &&with_exact(bool value) &&#

Changes the value of exact

Parameters:

value – A new value for the exact field

Returns:

This instance mapping policy

inline ProxyInstanceMappingPolicy &&with_redundant(bool value) &&#

Changes the value of redundant

Parameters:

value – A new value for the redundant field

Returns:

This instance mapping policy