Privileges describe how a task interacts with region-typed arguments. For example,
reads is required in order to read from a region argument, and
writes is required to modify a region.
Privileges are enforced by the type system, and a compile error will be issued if the declared privileges are violated.
writes, reductions (
max) allow the application of certain commutative operators to the elements of regions.