MPI (sisl.mpi)
Optional MPI support. All functionality works without mpi4py, in which case the communicator is a serial stand-in.
See Distributing work with MPI for a guide on how to use it.
Communicators
|
The communicator sisl is using, acquiring it on first call. |
The communicator contract sisl relies on. |
|
An mpi4py communicator plus the provenance needed to behave correctly. |
Distributions
Distributions decide which rank owns which indices. Calling one on an
object forwards to the object’s __sisl_distribute__ method.
Maps |
|
Blocks of blocksize indices dealt round-robin, as ScaLAPACK lays out a matrix. |
Implementing distributable objects
Helpers for objects that implement __sisl_distribute__ and need to track
whether they have changed since they were last distributed.
Distribution state carried by a distributed object. |
|
|
Mark method as invalidating the distribution of its object. |