- CMake 3.21 or later
- ROCm 6.x or later (provides HIP, HSA runtime)
- C++17 capable compiler (hipcc from ROCm)
- rdma-core development headers (for system libibverbs; hipObject loads libibverbs via dlopen so this is not strictly required at build time)
- GTest (fetched automatically if not found)
- Doxygen, Python 3, Sphinx, Breathe (for documentation)
# Configure
mkdir build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DHIPOBJ_BNXT=ON \
-DHIPOBJ_IONIC=OFF
# Build
make -j$(nproc)
# Run tests (requires GPU + RDMA NIC)
ctest --output-on-failure
# Install (to ROCM_PATH, default /opt/rocm)
sudo make install| Option | Default | Description |
|---|---|---|
HIPOBJ_BNXT |
ON | Build Thor-2 RDMA backend |
HIPOBJ_IONIC |
OFF | Build ionic RDMA backend |
BUILD_SHARED_LIBS |
OFF | Build shared library |
BUILD_TESTING |
ON | Build and register tests |
HIPOBJ_BUILD_DOCS |
OFF | Build documentation |
HIPOBJ_DOCS_ONLY |
OFF | Configure docs targets only |
HIPOBJ_MINIO_CLIENT |
OFF | Build minio-cpp RDMA bridge |
HIPOBJ_INTEGRATION_TESTS |
ON | Build RC test server |
HIPOBJ_FETCH_CUOBJECT_CLIENT |
OFF | Fetch libcuobjclient 1.2.0.59 |
HIPOBJ_FIND_CUOBJECT_SERVER |
OFF | Find libcuobjserver + probe |
ROCM_PATH |
/opt/rocm | Path to ROCm install |
Build the hipobj_minio library and minio-getput-rdma example:
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DHIPOBJ_MINIO_CLIENT=ON
cmake --build buildAdditional system packages (Ubuntu 24.04):
sudo apt install libssl-dev zlib1g-dev libcurl4-openssl-devSee integrations/minio-cpp/TESTING.md for lab validation against MinIO AIStor over RDMA.
See docs/interop.rst for the v1.2.0 compatibility matrix. Build the in-repo RC test server:
cmake -B build -DBUILD_TESTING=ON
cmake --build build --target hipobj-rdma-test-serverOptional cuObject library probes:
cmake -B build \
-DHIPOBJ_FETCH_CUOBJECT_CLIENT=ON \
-DHIPOBJ_FIND_CUOBJECT_SERVER=ON \
-DCUOBJSERVER_ROOT=/opt/nvidia/cuobjserverTo build the HTML documentation locally:
cmake -B build -DHIPOBJ_BUILD_DOCS=ON
cmake --build build --target sphinx-htmlThe output appears in build/docs/html/.
For a docs-only build that does not require a ROCm/HIP toolchain:
cmake -B build \
-DHIPOBJ_DOCS_ONLY=ON \
-DHIPOBJ_BUILD_DOCS=ON
cmake --build build --target sphinx-htmlROCM_PATH: Override the ROCm installation pathLD_LIBRARY_PATH: Must include ROCm and rdma-core library paths at runtime