Skip to content
open-rdmaPublic

About

Get Started From Here. The main repo for the whole open-rdma project. Including introduction, hands-on guide, new events and many other things.

Resources

Contributing

Stars

391 stars

Watchers

8 watching

Forks

Latest commit

 

History

69 Commits

Folders and files

Repository files navigation

🚀 Open-RDMA

A Full-Stack Open-Source High-Performance RDMA Hardware and Software Implementation, Focused on AI Applications, Committed to Surpassing Commercial Solutions

English | 简体中文

Ideal for Researchers, University Students, and RDMA Beginners

License Status Platform PRs Welcome

GitHub stars


Why This Project

With the rapid development of AI large model technology, the high-performance networking provided by RDMA has become a critical component of AI infrastructure. However, RDMA technology born in the last century is difficult to fully adapt to today's AI computing scenarios: existing commercial RDMA solutions are constrained by legacy compatibility burdens and struggle to iterate quickly to meet AI demands; RDMA network cards as closed-source black-box products form a significant contradiction with the open-source AI large model software ecosystem. At a time when hardware-software co-optimization is increasingly important, black-box RDMA network cards have become a key bottleneck restricting global optimization of AI systems.

To address these issues, Pazhou Laboratory (Huangpu) and Datanlord jointly initiated the Open-RDMA open-source project. We deeply recognize that relying solely on a single research institution's strength is insufficient to complete the development and debugging of a full-stack system, let alone change the existing industry landscape. Therefore, we chose a full-stack open-source approach, starting from the dimensions of academic research and talent cultivation, leveraging open-source community power to lower the technical barrier of this specialized RDMA field, cultivate RDMA technical talent, enhance the brand influence of the Open-RDMA project community, and gradually expand Open-RDMA's industry influence in the entire RDMA field.

Whether you are a practitioner or student in hardware (FPGA, ASIC), software information technology (driver development, training/inference frameworks, communication protocols), or algorithms (GPU Kernel), you can find a technical direction aligned with your field in the Open-RDMA open-source project.

Break the Black Box, Master the Network | Complete Open-Source RDMA Technology Stack from RTL to Drivers

🌟 Star Us · 📚 Learning Resources · 🚀 Quick Start · 🤝 Contributing

⚡ GPU-Friendly Communication and Multipath Transport

OpenRDMA is a GPU-friendly RDMA design: the GPU submits only a short instruction, the NIC builds the full request, and data is transferred through the Multipath Reliable Connection (MRC) protocol. The figure below compares how OpenRDMA and existing RDMA solutions submit communication requests:

  • GPUDirect RDMA (GDR), orange path: The CPU builds and submits the request.
  • InfiniBand GPUDirect Async (IBGDA), blue path: The GPU builds and submits the request.
  • OpenRDMA, dark-blue path: The GPU sends only a minimal 8-byte Doorbell to select a preconfigured operation; the NIC parses it and builds the full request.
GDR, IBGDA, and OpenRDMA control paths for submitting a communication request

GDR, IBGDA, and OpenRDMA control paths for submitting communication requests

Multipath Reliable Connection (MRC) is an open network protocol jointly developed by OpenAI, AMD, Broadcom, Microsoft, and NVIDIA. It allows packets from the same QP to use multiple Ethernet paths and handles out-of-order delivery, loss recovery, congestion, and path failures. OpenRDMA draws on these mechanisms to provide reliable multipath transport.

🚀 We are hiring interns

If you are interested in AI-Infra, whether GPU kernel optimization, inference framework optimization, high-performance networking, or RTL verification, feel free to send your resume to info(at)datenlord.com

📢 Recent Events


✨ Highlights

🔓 Fully Open Source

From RTL hardware design to Linux user-space drivers, every line of code is transparent and public

⚡ High Performance

Inspired by the MRC protocol, Ethernet-based with hardware-software co-design for ultra-low latency

🛠️ Deeply Customizable

FPGA-based, freely optimized for AI clusters, GPU communication, and other scenarios—no vendor lock-in

🤖 AI-First

From verification testing to AI-assisted development tools, accelerating AI infrastructure iteration through AI technology

🎓 Research-Friendly

Researchers can quickly customize experimental platforms based on this project to test novel congestion control algorithms and communication protocols

🌱 Beginner-Friendly

All materials publicly available with introductory guides, helping more newcomers become RDMA experts


📦 Tech Stack

Bluespec C Rust CUDA Python


🏗️ System Architecture

The OpenRDMA-flow M0–M11 architecture: the TX front end (M0–M3), the closed TX → RX → Retx loop, and the M11 → M3 TRAFFIC_RETRY reinjection path.

OpenRDMA-flow M0–M11 system architecture

Click the figure for the interactive version: zoom, node focus, upstream/downstream path tracing, light/dark themes and export.


🧩 Project Matrix

GitHub stars

Hardware RTL code for the open-rdma project

GitHub stars

Driver code including user-space and kernel-space drivers

GitHub stars

Setting up an environment from hardware simulation to software driver debugging and application development is no easy task, so we provide an out-of-the-box development environment.

GitHub stars

Language Server for Bluespec SystemVerilog, providing a smooth development experience for BSV projects.

GitHub stars

An AI Agent-driven RTL verification framework launched by Beijing Institute of Open Source Chip, we added support for Cocotb test environment.

GitHub stars

PCIe behavioral and simulation models based on Cocotb, we added Altera RTile support.


📚 Learning Resources

Bluespec SystemVerilog

RDMA

PCIe


🚀 Quick Start

One-Click Development Environment

New to the project? Start with open-rdma-dev-env: an out-of-the-box container that bundles the whole toolchain — the Bluespec compiler, the Rust toolchain, rdma-core and the Open-RDMA sources — and boots a QEMU virtual machine for driver work.

Prerequisites: a Linux host with Docker and Docker Compose installed.

# 1. Clone the development environment
git clone https://github.com/open-rdma/open-rdma-dev-env.git
cd open-rdma-dev-env

# 2. One-click start: builds the image and boots the VM inside the container
./quick-start.sh

# 3. Log into the VM as root:root, then run the baseline send/recv test
cd /root/open-rdma/open-rdma-driver && ./tests/base_test/scripts/test_send_recv_sim.sh

Ctrl+B, D detaches from the VM session and leaves it running in the background. To re-attach:

docker compose exec open-rdma tmux attach-session -t open-rdma
📖 Detailed installation, manual startup and troubleshooting

SSH key setup, switching image registries, building the image locally, proxy configuration, the FAQ and the image design notes all live in the open-rdma-dev-env README.


🤝 Contributing

We welcome all forms of contributions!

See the Contributing Guide for the full workflow and commit conventions, and the 🎓 student onboarding path if you are new to RDMA and are wondering where to start.


👥 Community


📜 License

This project is licensed under the Apache 2.0 License.


🌟 Star Us

If Open-RDMA helps you, or you believe in open-source spirit, please give us a ⭐️

Let's build the world's leading open-source RDMA for AI project together!

Open-RDMA Star History Chart

Made with ❤️ by the Open-RDMA Community

About

Get Started From Here. The main repo for the whole open-rdma project. Including introduction, hands-on guide, new events and many other things.

Resources

Contributing

Stars

391 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages