sisl.mpi.DistributionState

class sisl.mpi.DistributionState

Bases: object

Distribution state carried by a distributed object.

Holds the Distribution the object is laid out by, and tracks whether the object has been mutated since it was last made coherent. The epoch is a plain counter: mutation bumps it, assembly records it. Nothing here communicates.

This lives on the object, not on the Distribution, so that a single distribution can be shared by many objects.

Methods

mark_assembled()

Record that the object has been made coherent at the current epoch.

touch()

Record a structural change.

Attributes

distribution

epoch

Bumped by every structural change.

is_assembled

Whether the object is coherent, i.e. usable by a consumer.

mark_assembled()[source]

Record that the object has been made coherent at the current epoch.

Return type:

None

touch()[source]

Record a structural change. Cheap, local, and never communicates.

Return type:

None

property distribution: Distribution
property epoch: int

Bumped by every structural change.

property is_assembled: bool

Whether the object is coherent, i.e. usable by a consumer.