#rdma #ro-ce #infini-band #verbs #rdma-core

nightly sys rdma-core-sys

rdma-core-sys FFI 绑定

12 个版本

使用旧的 Rust 2015

0.1.10 2018年4月4日
0.1.9 2018年3月26日
0.0.1 2017年6月1日

#infini-band 中排名第 1

Download history 76/week @ 2023-10-19 83/week @ 2023-10-26 62/week @ 2023-11-02 64/week @ 2023-11-09 76/week @ 2023-11-16 87/week @ 2023-11-23 93/week @ 2023-11-30 71/week @ 2023-12-07 80/week @ 2023-12-14 77/week @ 2023-12-21 41/week @ 2023-12-28 60/week @ 2024-01-04 59/week @ 2024-01-11 76/week @ 2024-01-18 58/week @ 2024-01-25 36/week @ 2024-02-01

每月下载量 244
18 个crate中使用(直接使用2个)

MIT 许可证

2.5MB
74K SLoC

C 67K SLoC // 0.1% comments Rust 5.5K SLoC // 0.1% comments RPM Specfile 896 SLoC // 0.1% comments Shell 300 SLoC // 0.1% comments Python 161 SLoC // 0.2% comments Bitbake 22 SLoC // 0.8% comments

rdma-core

rdma-core 是一个开发 Rust 代码的项目,用于封装提供访问 InfiniBand 网络和 RDMA over Ethernet(即 RoCE 和 SoftRoCE)的 rdma-core C 库。目前它提供:

  • rdma-core-sys,一个 Rust crate,提供 libibverbs 的低级 FFI 绑定,版本为 r14-rc1
  • rdma-core,一个不完整的中间层绑定,使用 rdma-core-sysrdma
  • gaspi-reference-sys,一个非链接*绑定到 GASPI 2 规范的 C 头文件
  • openshmem-reference-sys,一个非链接*绑定到 OpenSHMEM 1.3 规范的 C 头文件

rdma-core-sys crate 可以在 Alpine Linux 和 Mac OS X 上编译,但仅测试过 Mac OS X 的绑定生成。 rdma-core-sys 还包括到 libiberbs 中存在的静态内联函数的生成绑定。请注意,还有一个 Rust 项目提供 rdma-core 绑定,https://github.com/jonhoo/rust-ibverbs。由于 Mellanox 为自己的代码提供了增强功能的不同版本(MLNX_OFED),libibverbs 存在复杂性。此代码目前使用官方 GitHub 版本,但可能将切换;Mellanox 是当前该领域的最有效创新者。

此项目目前处于实验性状态,主要是为了满足 StormMQ 的开发需求。它可能永远不会稳定或支持您使用的开发生态系统。它还使用我们喜欢且 Rust 社区不接受的名字和代码布局约定。它需要 Rust nightly,并且可能需要一段时间(它使用联合体、关联常量等)。它更喜欢 shell 脚本而不是 Cargo 构建脚本。最终,计划将其纳入 Libertine Linux,这是一个小型、内存中、安全和从源代码构建的 Linux 发行版,非常适合现代微服务集群。

workspace 文件夹中存在 crate 以及 IntelliJ 模块文件。

目前不太可能接受拉取请求。

* 即提供函数但不链接到 ELF .a.so 文件。这是因为存在这些规范的多个实现。

许可

本项目的许可证是 MIT。

依赖项