Skip to content

mpi-0.6.0

Compare
Choose a tag to compare
@jedbrown jedbrown released this 05 Aug 14:51
· 52 commits to main since this release

2022-08-05

MSRV: 1.54.0

Notes

In order to use the user-operations optional feature (enabled by default), you may want to check
that you are using at least libffi-sys version 1.1.0. This can be done by running cargo update, but for most users this will likely be unnecessary.

New Features

  • [PR 122] Multiple request completion via MPI_Waitsome and friends.
  • [PR 113] Make Communicator and Group traits object-safe
  • [PR 110] Implement Buffer and BufferMut for Vec,
    allowing cleaner syntax
  • [PR 52] Safely send and receive structs with arbitrary
    data layout, including padding, using #[derive(Equivalence)].
  • [PR 88] Support for MPI_Waitany using mpi::wait_any.
  • [PR 46]
    MS-MPI on Windows
    is now supported.
  • [PR 58] Support for "cartesian" communicators using
    CartestianCommunicator
  • [PR 51] Support MPI_Pack and MPI_Unpack using
    Communicator::pack, Communicator::pack_into, and Communicator::unpack_into.
  • [PR 49] Build compound datatypes without committing
    intermediate types using UncommittedUserDatatype.
  • [PR 53] Construct a UserCommunicator from an
    MPI_Comm with UserCommunicator::from_raw.
  • [PR 90] Support MPI_Comm_split_type using
    Communicator::split_shared, which splits communicators into subcommunicators that are capable
    of creating shared memory regions.
  • [PR 27] Support for MPI_Comm_get_name and
    MPI_Comm_set_name using Communicator::set_name and Communicator::get_name.

Changed APIs

  • [PR 48] UserDatatype::structured no longer takes a
    count argument.

Fixed Bugs

  • [PR 77] Failure to complete scoped requests now results
    in immediate process termination, rather than a panic.
  • [PR 53] Portability improved with newer libffi and
    bindgen