Constraints#

Constraint represents a specific partitioning constraint imposed on an argument to a task. For example, the broadcast() constraint requires that all leaf tasks get a complete copy of the argument, instead of a subset. align() on the other hand mandates that two arguments must be partitioned in the same way (their pieces align each other).