legate::TaskConfig#

class TaskConfig#

A class representing the configuration of a task.

This class provides methods for constructing a task configuration, setting various task options, and retrieving information about the task configuration.

Public Functions

TaskConfig()#

Deleted default constructor.

The default constructor is deleted to prevent creating a TaskConfig object without specifying a task ID.

explicit TaskConfig(LocalTaskID task_id) noexcept#

Construct a TaskConfig.

Parameters:

task_id – The local ID of the task.

TaskConfig &with_signature(const TaskSignature &signature) noexcept#

Set the task signature for this task.

Parameters:

signature – The task signature to associate with the task.

Returns:

A reference to this.

TaskConfig &with_variant_options(
const VariantOptions &options
) noexcept#

Set the variant options for this task.

Parameters:

options – The variant options to associate with the task.

Returns:

A reference to this.

TaskConfig &with_store_mappings(
Span<const mapping::ProxyStoreMapping> store_mappings
) noexcept#

Pre-declare the mapping decisions for each argument to the task.

Store mapping policies are applied in the order in which they appear in the provided list. No attempt is made at deduplicating or resolving conflicting store mappings; the last policy to apply to a particular argument or set of arguments “wins”.

Any task arguments not covered by the provided store mappings will receive the default store mapping policy (equivalent to StoreMapping::default_mapping() with an appropriately chosen store target).

Parameters:

store_mappings – The proxy mapping decisions.

Returns:

A reference to this.

LocalTaskID task_id() const#
Returns:

The local task ID for this task.

std::optional<TaskSignature> task_signature() const#
Returns:

The task signature, if set, std::nullopt otherwise.

std::optional<std::reference_wrapper<const VariantOptions>> variant_options(
) const#
Returns:

The variant options, if set, std::nullopt otherwise.