- CMake (tested with 3.23)
- Boost (tested with 1.79.0)
- Found via standard CMake
find_package()call
- Found via standard CMake
- NetworkDirect (Windows build)
- Download:
nuget.exe install NetworkDirect -Version 2.0.1 - CMake expected to be configured with
NetDirect_HEADER_DIR/NetDirect_LIBRARYDIRvariables pointing to the NetworkDirect install location
- Download:
- libibverbs/rdma_cm (Linux build)
- Both part of rdma-core package
- CMake can be configured with
VERBS_HEADER_DIR/VERBS_LIB_DIRvariables, if not available in default system search directories
- googletest
- Retrieved automatically via CMake step
- Unit tests (
easyrdma_unit_tests) cover some basic internal classes - System tests (
easyrdma_tests) cover the full API surface and are intended to be run on a system with RDMA-capable hardware
System setup:
- Two RDMA-capable network ports connected directly together on the system in a loopback-manner
- Tests expect them to have compatible IP addresses to connect to each other (such as link-local). These ports may be on the same physical card.
- Tests can also run on a single port with internal loopback
- API tests a variety of edge conditions with the underlying vendor's implementation and might not pass on all hardware. Extensive testing only done on Mellanox/NVIDIA ConnectX-4 (and newer) hardware.