Struct necsim_partitioning_mpi::MpiPartitioning
source · pub struct MpiPartitioning { /* private fields */ }
Implementations§
source§impl MpiPartitioning
impl MpiPartitioning
sourcepub fn initialise() -> Result<Self, MpiPartitioningError>
pub fn initialise() -> Result<Self, MpiPartitioningError>
§Errors
Returns AlreadyInitialised
if MPI was already initialised.
Returns NoParallelism
if the MPI world only consists of one or less
partitions.
pub fn set_migration_interval(&mut self, migration_interval: Duration)
pub fn set_progress_interval(&mut self, progress_interval: Duration)
sourcepub fn peek_is_root(&self) -> bool
pub fn peek_is_root(&self) -> bool
§Contracts
Post-condition - debug: monolithic partition is always root
self.get_size().is_monolithic() -> ret
Trait Implementations§
source§impl Debug for MpiPartitioning
impl Debug for MpiPartitioning
source§impl<'de> Deserialize<'de> for MpiPartitioning
impl<'de> Deserialize<'de> for MpiPartitioning
source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
source§impl Partitioning for MpiPartitioning
impl Partitioning for MpiPartitioning
source§fn with_local_partition<R: Reporter, P: ReporterContext<Reporter = R>, A: Data, Q: Data + Serialize + DeserializeOwned>(
self,
reporter_context: P,
event_log: Self::Auxiliary,
args: A,
inner: for<'p> fn(_: &mut Self::LocalPartition<'p, R>, _: A) -> Q,
fold: fn(_: Q, _: Q) -> Q
) -> Result<(Q, Self::FinalisableReporter<R>)>
fn with_local_partition<R: Reporter, P: ReporterContext<Reporter = R>, A: Data, Q: Data + Serialize + DeserializeOwned>( self, reporter_context: P, event_log: Self::Auxiliary, args: A, inner: for<'p> fn(_: &mut Self::LocalPartition<'p, R>, _: A) -> Q, fold: fn(_: Q, _: Q) -> Q ) -> Result<(Q, Self::FinalisableReporter<R>)>
§Errors
Returns MissingEventLog
if the local partition is non-monolithic and
the event_log
is None
.
Returns InvalidEventSubLog
if creating a sub-event_log
failed.
type Auxiliary = Option<EventLogConfig>
type FinalisableReporter<R: Reporter> = FinalisableMpiReporter<R>
type LocalPartition<'p, R: Reporter> = MpiLocalPartition<'p, R>
fn get_size(&self) -> PartitionSize
Auto Trait Implementations§
impl Freeze for MpiPartitioning
impl RefUnwindSafe for MpiPartitioning
impl !Send for MpiPartitioning
impl !Sync for MpiPartitioning
impl Unpin for MpiPartitioning
impl UnwindSafe for MpiPartitioning
Blanket Implementations§
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
Approximate the subject to a given type with the default scheme.
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.
§impl<T> ExtractDiscriminant for T
impl<T> ExtractDiscriminant for T
§type Discriminant = <T as ExtractDiscriminantSpec<<T as DiscriminantKind>::Discriminant>>::Ty
type Discriminant = <T as ExtractDiscriminantSpec<<T as DiscriminantKind>::Discriminant>>::Ty
The type of the discriminant, which must satisfy the trait bounds
required by
core::mem::Discriminant
. Read more§impl<Src> TryFrom<Src> for Src
impl<Src> TryFrom<Src> for Src
§impl<Src, Dst> TryInto<Dst> for Srcwhere
Dst: TryFrom<Src>,
impl<Src, Dst> TryInto<Dst> for Srcwhere
Dst: TryFrom<Src>,
§impl<Src> ValueFrom<Src> for Src
impl<Src> ValueFrom<Src> for Src
§fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
Convert the given value into an exactly equivalent representation.
§impl<Src, Dst> ValueInto<Dst> for Srcwhere
Dst: ValueFrom<Src>,
impl<Src, Dst> ValueInto<Dst> for Srcwhere
Dst: ValueFrom<Src>,
§fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
Convert the subject into an exactly equivalent representation.