infinity-rust
infinity-rust copied to clipboard
A rust wrapper for Infinity, a lightweight RDMA library for InfiniBand
Infinity in Rust - A lightweight C++ RDMA library for InfiniBand
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.
Crate and documentation
infinity is on crates.io. You need ''ibVerbs'' installed for Infinity to build.
The documentation is published by travis for the master branch.
Development
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/.
License
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.