pub enum CommError {
CollectiveFailed {
operation: &'static str,
mpi_error_code: i32,
message: String,
},
InvalidBufferSize {
operation: &'static str,
expected: usize,
actual: usize,
},
InvalidRoot {
root: usize,
size: usize,
},
InvalidCommunicator,
AllocationFailed {
requested_bytes: usize,
message: String,
},
}Expand description
Errors that can occur during collective communication or shared memory operations.
This type is returned by all fallible methods on Communicator
and SharedMemoryProvider.
Variants§
CollectiveFailed
An MPI collective operation failed at the library level.
Contains the MPI error code and a human-readable description.
Fields
InvalidBufferSize
The buffer sizes provided to a collective operation are inconsistent.
For example, recv.len() < sum(counts) in allgatherv, or
send.len() != recv.len() in allreduce.
Fields
InvalidRoot
The root rank argument is out of range (root >= size()).
Fields
InvalidCommunicator
The communicator has been finalized or is in an invalid state.
This typically occurs if MPI_Finalize has been called before all
collective operations have completed.
AllocationFailed
A shared memory allocation request was rejected by the OS.
This can occur if the requested size exceeds system shared memory limits
(/proc/sys/kernel/shmmax on Linux), if the process lacks permissions for
shared memory operations, or if the system is out of shared memory resources.
Trait Implementations§
Source§impl Error for CommError
impl Error for CommError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()