pub struct Process<'a, C>where
C: 'a + Communicator,{ /* private fields */ }
Expand description
Identifies a process by its Rank
within a certain communicator.
Implementations§
Trait Implementations§
source§impl<'a, C> AsCommunicator for Process<'a, C>where
C: 'a + Communicator,
impl<'a, C> AsCommunicator for Process<'a, C>where
C: 'a + Communicator,
source§impl<'a, C> Destination for Process<'a, C>where
C: 'a + Communicator,
impl<'a, C> Destination for Process<'a, C>where
C: 'a + Communicator,
source§fn destination_rank(&self) -> Rank
fn destination_rank(&self) -> Rank
Rank
that identifies the destinationsource§fn send_with_tag<Buf>(&self, buf: &Buf, tag: Tag)
fn send_with_tag<Buf>(&self, buf: &Buf, tag: Tag)
Blocking standard mode send operation Read more
source§fn buffered_send_with_tag<Buf>(&self, buf: &Buf, tag: Tag)
fn buffered_send_with_tag<Buf>(&self, buf: &Buf, tag: Tag)
Blocking buffered mode send operation Read more
source§fn buffered_send<Buf>(&self, buf: &Buf)
fn buffered_send<Buf>(&self, buf: &Buf)
Blocking buffered mode send operation Read more
source§fn synchronous_send_with_tag<Buf>(&self, buf: &Buf, tag: Tag)
fn synchronous_send_with_tag<Buf>(&self, buf: &Buf, tag: Tag)
Blocking synchronous mode send operation Read more
source§fn synchronous_send<Buf>(&self, buf: &Buf)
fn synchronous_send<Buf>(&self, buf: &Buf)
Blocking synchronous mode send operation Read more
source§fn ready_send_with_tag<Buf>(&self, buf: &Buf, tag: Tag)
fn ready_send_with_tag<Buf>(&self, buf: &Buf, tag: Tag)
Blocking ready mode send operation Read more
source§fn ready_send<Buf>(&self, buf: &Buf)
fn ready_send<Buf>(&self, buf: &Buf)
Blocking ready mode send operation Read more
source§fn immediate_send_with_tag<'a, Sc, Buf>(
&self,
scope: Sc,
buf: &'a Buf,
tag: Tag
) -> Request<'a, Buf, Sc>
fn immediate_send_with_tag<'a, Sc, Buf>( &self, scope: Sc, buf: &'a Buf, tag: Tag ) -> Request<'a, Buf, Sc>
Initiate an immediate (non-blocking) standard mode send operation. Read more
source§fn immediate_send<'a, Sc, Buf>(
&self,
scope: Sc,
buf: &'a Buf
) -> Request<'a, Buf, Sc>
fn immediate_send<'a, Sc, Buf>( &self, scope: Sc, buf: &'a Buf ) -> Request<'a, Buf, Sc>
Initiate an immediate (non-blocking) standard mode send operation. Read more
source§fn immediate_buffered_send_with_tag<'a, Sc, Buf>(
&self,
scope: Sc,
buf: &'a Buf,
tag: Tag
) -> Request<'a, Buf, Sc>
fn immediate_buffered_send_with_tag<'a, Sc, Buf>( &self, scope: Sc, buf: &'a Buf, tag: Tag ) -> Request<'a, Buf, Sc>
Initiate an immediate (non-blocking) buffered mode send operation. Read more
source§fn immediate_buffered_send<'a, Sc, Buf>(
&self,
scope: Sc,
buf: &'a Buf
) -> Request<'a, Buf, Sc>
fn immediate_buffered_send<'a, Sc, Buf>( &self, scope: Sc, buf: &'a Buf ) -> Request<'a, Buf, Sc>
Initiate an immediate (non-blocking) buffered mode send operation. Read more
source§fn immediate_synchronous_send_with_tag<'a, Sc, Buf>(
&self,
scope: Sc,
buf: &'a Buf,
tag: Tag
) -> Request<'a, Buf, Sc>
fn immediate_synchronous_send_with_tag<'a, Sc, Buf>( &self, scope: Sc, buf: &'a Buf, tag: Tag ) -> Request<'a, Buf, Sc>
Initiate an immediate (non-blocking) synchronous mode send operation. Read more
source§fn immediate_synchronous_send<'a, Sc, Buf>(
&self,
scope: Sc,
buf: &'a Buf
) -> Request<'a, Buf, Sc>
fn immediate_synchronous_send<'a, Sc, Buf>( &self, scope: Sc, buf: &'a Buf ) -> Request<'a, Buf, Sc>
Initiate an immediate (non-blocking) synchronous mode send operation. Read more
source§impl<'a, C: 'a + Communicator> Root for Process<'a, C>
impl<'a, C: 'a + Communicator> Root for Process<'a, C>
source§fn broadcast_into<Buf>(&self, buffer: &mut Buf)
fn broadcast_into<Buf>(&self, buffer: &mut Buf)
Broadcast of the contents of a buffer Read more
source§fn gather_into<S>(&self, sendbuf: &S)
fn gather_into<S>(&self, sendbuf: &S)
Gather contents of buffers on
Root
. Read moresource§fn gather_into_root<S, R>(&self, sendbuf: &S, recvbuf: &mut R)
fn gather_into_root<S, R>(&self, sendbuf: &S, recvbuf: &mut R)
Gather contents of buffers on
Root
. Read moresource§fn gather_varcount_into<S>(&self, sendbuf: &S)
fn gather_varcount_into<S>(&self, sendbuf: &S)
Gather contents of buffers on
Root
. Read moresource§fn gather_varcount_into_root<S, R>(&self, sendbuf: &S, recvbuf: &mut R)
fn gather_varcount_into_root<S, R>(&self, sendbuf: &S, recvbuf: &mut R)
Gather contents of buffers on
Root
. Read moresource§fn scatter_into<R>(&self, recvbuf: &mut R)
fn scatter_into<R>(&self, recvbuf: &mut R)
Scatter contents of a buffer on the root process to all processes. Read more
source§fn scatter_into_root<S, R>(&self, sendbuf: &S, recvbuf: &mut R)
fn scatter_into_root<S, R>(&self, sendbuf: &S, recvbuf: &mut R)
Scatter contents of a buffer on the root process to all processes. Read more
source§fn scatter_varcount_into<R>(&self, recvbuf: &mut R)
fn scatter_varcount_into<R>(&self, recvbuf: &mut R)
Scatter contents of a buffer on the root process to all processes. Read more
source§fn scatter_varcount_into_root<S, R>(&self, sendbuf: &S, recvbuf: &mut R)
fn scatter_varcount_into_root<S, R>(&self, sendbuf: &S, recvbuf: &mut R)
Scatter contents of a buffer on the root process to all processes. Read more
source§fn reduce_into<S, O>(&self, sendbuf: &S, op: O)
fn reduce_into<S, O>(&self, sendbuf: &S, op: O)
Performs a global reduction under the operation
op
of the input data in sendbuf
and
stores the result on the Root
process. Read moresource§fn reduce_into_root<S, R, O>(&self, sendbuf: &S, recvbuf: &mut R, op: O)
fn reduce_into_root<S, R, O>(&self, sendbuf: &S, recvbuf: &mut R, op: O)
Performs a global reduction under the operation
op
of the input data in sendbuf
and
stores the result on the Root
process. Read moresource§fn immediate_broadcast_into<'a, Buf, Sc>(
&self,
scope: Sc,
buf: &'a mut Buf
) -> Request<'a, Buf, Sc>
fn immediate_broadcast_into<'a, Buf, Sc>( &self, scope: Sc, buf: &'a mut Buf ) -> Request<'a, Buf, Sc>
Initiate broadcast of a value from the
Root
process to all other processes. Read moresource§fn immediate_gather_into<'a, S, Sc>(
&self,
scope: Sc,
sendbuf: &'a S
) -> Request<'a, S, Sc>
fn immediate_gather_into<'a, S, Sc>( &self, scope: Sc, sendbuf: &'a S ) -> Request<'a, S, Sc>
source§fn immediate_gather_into_root<'a, S, R, Sc>(
&self,
scope: Sc,
sendbuf: &'a S,
recvbuf: &'a mut R
) -> Request<'a, R, Sc>
fn immediate_gather_into_root<'a, S, R, Sc>( &self, scope: Sc, sendbuf: &'a S, recvbuf: &'a mut R ) -> Request<'a, R, Sc>
source§fn immediate_gather_varcount_into<'a, Sc, S>(
&self,
scope: Sc,
sendbuf: &'a S
) -> Request<'a, S, Sc>
fn immediate_gather_varcount_into<'a, Sc, S>( &self, scope: Sc, sendbuf: &'a S ) -> Request<'a, S, Sc>
source§fn immediate_gather_varcount_into_root<'a, Sc, S, R>(
&self,
scope: Sc,
sendbuf: &'a S,
recvbuf: &'a mut R
) -> Request<'a, R, Sc>
fn immediate_gather_varcount_into_root<'a, Sc, S, R>( &self, scope: Sc, sendbuf: &'a S, recvbuf: &'a mut R ) -> Request<'a, R, Sc>
source§fn immediate_scatter_into<'a, Sc, R>(
&self,
scope: Sc,
recvbuf: &'a mut R
) -> Request<'a, R, Sc>
fn immediate_scatter_into<'a, Sc, R>( &self, scope: Sc, recvbuf: &'a mut R ) -> Request<'a, R, Sc>
source§fn immediate_scatter_into_root<'a, Sc, S, R>(
&self,
scope: Sc,
sendbuf: &'a S,
recvbuf: &'a mut R
) -> Request<'a, R, Sc>
fn immediate_scatter_into_root<'a, Sc, S, R>( &self, scope: Sc, sendbuf: &'a S, recvbuf: &'a mut R ) -> Request<'a, R, Sc>
source§fn immediate_scatter_varcount_into<'a, Sc, R>(
&self,
scope: Sc,
recvbuf: &'a mut R
) -> Request<'a, R, Sc>
fn immediate_scatter_varcount_into<'a, Sc, R>( &self, scope: Sc, recvbuf: &'a mut R ) -> Request<'a, R, Sc>
source§fn immediate_scatter_varcount_into_root<'a, Sc, S, R>(
&self,
scope: Sc,
sendbuf: &'a S,
recvbuf: &'a mut R
) -> Request<'a, R, Sc>
fn immediate_scatter_varcount_into_root<'a, Sc, S, R>( &self, scope: Sc, sendbuf: &'a S, recvbuf: &'a mut R ) -> Request<'a, R, Sc>
source§fn immediate_reduce_into<'a, Sc, S, O>(
&self,
scope: Sc,
sendbuf: &'a S,
op: O
) -> Request<'a, S, Sc>
fn immediate_reduce_into<'a, Sc, S, O>( &self, scope: Sc, sendbuf: &'a S, op: O ) -> Request<'a, S, Sc>
Initiates a non-blacking global reduction under the operation
op
of the input data in
sendbuf
and stores the result on the Root
process. Read moresource§fn immediate_reduce_into_root<'a, Sc, S, R, O>(
&self,
scope: Sc,
sendbuf: &'a S,
recvbuf: &'a mut R,
op: O
) -> Request<'a, R, Sc>
fn immediate_reduce_into_root<'a, Sc, S, R, O>( &self, scope: Sc, sendbuf: &'a S, recvbuf: &'a mut R, op: O ) -> Request<'a, R, Sc>
Initiates a non-blocking global reduction under the operation
op
of the input data in
sendbuf
and stores the result on the Root
process. Read moresource§fn spawn(
&self,
command: &Command,
maxprocs: Rank
) -> Result<InterCommunicator, MpiError>
fn spawn( &self, command: &Command, maxprocs: Rank ) -> Result<InterCommunicator, MpiError>
Spawns child processes Read more
source§fn spawn_multiple(
&self,
commands: &[Command],
maxprocs: &[Rank]
) -> Result<InterCommunicator, MpiError>
fn spawn_multiple( &self, commands: &[Command], maxprocs: &[Rank] ) -> Result<InterCommunicator, MpiError>
Spawns child processes Read more
source§impl<'a, C> Source for Process<'a, C>where
C: 'a + Communicator,
impl<'a, C> Source for Process<'a, C>where
C: 'a + Communicator,
source§fn source_rank(&self) -> Rank
fn source_rank(&self) -> Rank
Rank
that identifies the sourcesource§fn matched_probe_with_tag(&self, tag: Tag) -> (Message, Status)
fn matched_probe_with_tag(&self, tag: Tag) -> (Message, Status)
Probe a source for incoming messages with guaranteed reception. Read more
source§fn matched_probe(&self) -> (Message, Status)
fn matched_probe(&self) -> (Message, Status)
Probe a source for incoming messages with guaranteed reception. Read more
source§fn receive_with_tag<Msg>(&self, tag: Tag) -> (Msg, Status)where
Msg: Equivalence,
fn receive_with_tag<Msg>(&self, tag: Tag) -> (Msg, Status)where
Msg: Equivalence,
Receive a message containing a single instance of type
Msg
. Read moresource§fn receive<Msg>(&self) -> (Msg, Status)where
Msg: Equivalence,
fn receive<Msg>(&self) -> (Msg, Status)where
Msg: Equivalence,
Receive a message containing a single instance of type
Msg
. Read moresource§fn receive_into_with_tag<Buf>(&self, buf: &mut Buf, tag: Tag) -> Status
fn receive_into_with_tag<Buf>(&self, buf: &mut Buf, tag: Tag) -> Status
Receive a message into a
Buffer
. Read moresource§fn receive_into<Buf>(&self, buf: &mut Buf) -> Status
fn receive_into<Buf>(&self, buf: &mut Buf) -> Status
Receive a message into a
Buffer
. Read moresource§fn receive_vec_with_tag<Msg>(&self, tag: Tag) -> (Vec<Msg>, Status)where
Msg: Equivalence,
fn receive_vec_with_tag<Msg>(&self, tag: Tag) -> (Vec<Msg>, Status)where
Msg: Equivalence,
source§fn receive_vec<Msg>(&self) -> (Vec<Msg>, Status)where
Msg: Equivalence,
fn receive_vec<Msg>(&self) -> (Vec<Msg>, Status)where
Msg: Equivalence,
source§fn immediate_receive_into_with_tag<'a, Sc, Buf>(
&self,
scope: Sc,
buf: &'a mut Buf,
tag: Tag
) -> Request<'a, Buf, Sc>
fn immediate_receive_into_with_tag<'a, Sc, Buf>( &self, scope: Sc, buf: &'a mut Buf, tag: Tag ) -> Request<'a, Buf, Sc>
Initiate an immediate (non-blocking) receive operation. Read more
source§fn immediate_receive_into<'a, Sc, Buf>(
&self,
scope: Sc,
buf: &'a mut Buf
) -> Request<'a, Buf, Sc>
fn immediate_receive_into<'a, Sc, Buf>( &self, scope: Sc, buf: &'a mut Buf ) -> Request<'a, Buf, Sc>
Initiate an immediate (non-blocking) receive operation. Read more
source§fn immediate_receive_with_tag<Msg>(&self, tag: Tag) -> ReceiveFuture<Msg>where
Msg: Equivalence,
fn immediate_receive_with_tag<Msg>(&self, tag: Tag) -> ReceiveFuture<Msg>where
Msg: Equivalence,
Initiate a non-blocking receive operation for messages matching tag
tag
. Read moresource§fn immediate_receive<Msg>(&self) -> ReceiveFuture<Msg>where
Msg: Equivalence,
fn immediate_receive<Msg>(&self) -> ReceiveFuture<Msg>where
Msg: Equivalence,
Initiate a non-blocking receive operation. Read more
source§fn immediate_probe_with_tag(&self, tag: Tag) -> Option<Status>
fn immediate_probe_with_tag(&self, tag: Tag) -> Option<Status>
Asynchronously probe a source for incoming messages. Read more
source§fn immediate_probe(&self) -> Option<Status>
fn immediate_probe(&self) -> Option<Status>
Asynchronously probe a source for incoming messages. Read more
impl<'a, C> Copy for Process<'a, C>where
C: 'a + Communicator + Copy,
Auto Trait Implementations§
impl<'a, C> RefUnwindSafe for Process<'a, C>where
C: RefUnwindSafe,
impl<'a, C> Send for Process<'a, C>where
C: Sync,
impl<'a, C> Sync for Process<'a, C>where
C: Sync,
impl<'a, C> Unpin for Process<'a, C>
impl<'a, C> UnwindSafe for Process<'a, C>where
C: RefUnwindSafe,
Blanket Implementations§
source§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
source§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.
source§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,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
source§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
source§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
source§impl<T> ConvUtil for T
impl<T> ConvUtil for T
source§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.
source§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
Approximate the subject to a given type with a specific scheme.