Infinity is a simple, powerful, object-oriented abstraction of ibVerbs. The library enables users to build sophisticated applications that use Remote Direct Memory Access (RDMA) without sacrificing performance. It significantly lowers the barrier to get started with RDMA programming. Infinity provides support for two-sided (send/receive) as well as one-sided (read/write/atomic) operations.
This project contains an idiomatic, safe Rust wrapper for the C++ Infinity library by @claudebarthels.
infinity
is on crates.io. You need ''ibVerbs'' installed for Infinity to build.
The documentation is published by travis for the master
branch.
If you're developing on a machine that doesn't have libibverbs
available, you can use the utaal/rust-ibverbs
docker image to test your builds as follows:
docker run --rm -t -v .:/root/infinity-rust utaal/rust-libibverbs bash -c '(cd /root/infinity-rust; cargo build --all)'
The Dockerfile
for utaal/rust-libibverbs
is in docker/
.
Infinity, and the Rust wrapper in this repository, are MIT-licensed.
- Infinity's license; Infinity is (C) Claude Barthels, ETH Zurich;
- This project's license; this project is (C) Andrea Lattuada, ETH Zurich.