ferrompi 0.4.0

A safe, generic Rust wrapper for MPI with support for MPI 4.0+ features, shared memory windows, and hybrid MPI+OpenMP
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.74"
name = "ferrompi"
version = "0.4.0"
authors = ["Rogerio Alves"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A safe, generic Rust wrapper for MPI with support for MPI 4.0+ features, shared memory windows, and hybrid MPI+OpenMP"
readme = "README.md"
keywords = [
    "mpi",
    "hpc",
    "parallel",
    "distributed",
]
categories = [
    "science",
    "concurrency",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/cobre-rs/ferrompi"

[features]
default = []
numa = ["rma"]
rma = []

[lib]
name = "ferrompi"
path = "src/lib.rs"

[[example]]
name = "allreduce"
path = "examples/allreduce.rs"

[[example]]
name = "comm_split"
path = "examples/comm_split.rs"

[[example]]
name = "gatherv"
path = "examples/gatherv.rs"

[[example]]
name = "hello_world"
path = "examples/hello_world.rs"

[[example]]
name = "hybrid_openmp"
path = "examples/hybrid_openmp.rs"

[[example]]
name = "nonblocking"
path = "examples/nonblocking.rs"

[[example]]
name = "persistent_bcast"
path = "examples/persistent_bcast.rs"

[[example]]
name = "pi_monte_carlo"
path = "examples/pi_monte_carlo.rs"

[[example]]
name = "reduce_op_bitwise"
path = "examples/reduce_op_bitwise.rs"

[[example]]
name = "reduce_op_maxloc"
path = "examples/reduce_op_maxloc.rs"

[[example]]
name = "ring"
path = "examples/ring.rs"

[[example]]
name = "scan"
path = "examples/scan.rs"

[[example]]
name = "shared_memory"
path = "examples/shared_memory.rs"
required-features = ["rma"]

[[example]]
name = "test_allgather_init_inplace"
path = "examples/test_allgather_init_inplace.rs"

[[example]]
name = "test_allgather_inplace"
path = "examples/test_allgather_inplace.rs"

[[example]]
name = "test_allreduce_bytes"
path = "examples/test_allreduce_bytes.rs"

[[example]]
name = "test_alltoall_init_inplace"
path = "examples/test_alltoall_init_inplace.rs"

[[example]]
name = "test_alltoall_inplace"
path = "examples/test_alltoall_inplace.rs"

[[example]]
name = "test_blocking_extra"
path = "examples/test_blocking_extra.rs"

[[example]]
name = "test_cancel"
path = "examples/test_cancel.rs"

[[example]]
name = "test_collectives"
path = "examples/test_collectives.rs"

[[example]]
name = "test_comm_split"
path = "examples/test_comm_split.rs"

[[example]]
name = "test_errhandler_returns"
path = "examples/test_errhandler_returns.rs"

[[example]]
name = "test_error_context"
path = "examples/test_error_context.rs"

[[example]]
name = "test_gather_init_inplace"
path = "examples/test_gather_init_inplace.rs"

[[example]]
name = "test_gather_inplace"
path = "examples/test_gather_inplace.rs"

[[example]]
name = "test_iallgather_inplace"
path = "examples/test_iallgather_inplace.rs"

[[example]]
name = "test_ialltoall_inplace"
path = "examples/test_ialltoall_inplace.rs"

[[example]]
name = "test_igather_inplace"
path = "examples/test_igather_inplace.rs"

[[example]]
name = "test_info"
path = "examples/test_info.rs"

[[example]]
name = "test_iscatter_inplace"
path = "examples/test_iscatter_inplace.rs"

[[example]]
name = "test_lifecycle"
path = "examples/test_lifecycle.rs"

[[example]]
name = "test_nonblocking"
path = "examples/test_nonblocking.rs"

[[example]]
name = "test_nonblocking_collectives"
path = "examples/test_nonblocking_collectives.rs"

[[example]]
name = "test_p2p_extra"
path = "examples/test_p2p_extra.rs"

[[example]]
name = "test_persistent"
path = "examples/test_persistent.rs"

[[example]]
name = "test_request_table_concurrency"
path = "examples/test_request_table_concurrency.rs"

[[example]]
name = "test_rma_window"
path = "examples/test_rma_window.rs"
required-features = ["rma"]

[[example]]
name = "test_scatter_init_inplace"
path = "examples/test_scatter_init_inplace.rs"

[[example]]
name = "test_scatter_inplace"
path = "examples/test_scatter_inplace.rs"

[[example]]
name = "test_waitany"
path = "examples/test_waitany.rs"

[[example]]
name = "topology"
path = "examples/topology.rs"

[[bench]]
name = "allreduce_roundtrip"
path = "benches/allreduce_roundtrip.rs"
harness = false

[[bench]]
name = "bench_smoke"
path = "benches/bench_smoke.rs"
harness = false

[[bench]]
name = "ffi_overhead"
path = "benches/ffi_overhead.rs"
harness = false

[[bench]]
name = "persistent_vs_iallreduce"
path = "benches/persistent_vs_iallreduce.rs"
harness = false

[dependencies]

[dev-dependencies.criterion]
version = "0.5"
features = [
    "cargo_bench_support",
    "html_reports",
    "plotters",
]
default-features = false

[dev-dependencies.rand]
version = "0.9"

[build-dependencies.cc]
version = "1.2"

[build-dependencies.pkg-config]
version = "0.3"