feat: add --rdma=cpu|gpu flag, bump minio-go to v7.2.0#491
Draft
harshavardhana wants to merge 1 commit into
Draft
feat: add --rdma=cpu|gpu flag, bump minio-go to v7.2.0#491harshavardhana wants to merge 1 commit into
harshavardhana wants to merge 1 commit into
Conversation
c8eaf73 to
e05ce7a
Compare
Collaborator
|
#490 fixes lint/vuln |
Bumps github.com/minio/minio-go/v7 from v7.1.0 to v7.2.0 which adds
S3-over-RDMA dispatch via Options.EnableRDMA and {Put,Get}Object
Options.RDMABuffer.
--rdma is a string flag accepting "cpu" or "gpu"; empty disables.
The per-op buffer alloc is factored into pkg/bench/rdmabuf.go and
the GPU path is gated behind the rdma build tag — no separate cuda
tag.
go build . # default; --rdma=gpu surfaces a clear
# "requires -tags=rdma" error via the stub.
go build -tags=rdma . # both --rdma=cpu and --rdma=gpu work
# (libcudart + libminiocpp on the link path)
For PUT the generator output is staged into the host buffer (CPU
mode) or into a CUDA device buffer via cudaMemcpy H2D (GPU mode).
For GET the server RDMA-writes into a per-op CPU or GPU sink buffer;
Stat() carries the transferred byte count for verification.
Default HTTP PUT/GET paths are unchanged.
e05ce7a to
38e4c98
Compare
klauspost
reviewed
Jun 4, 2026
| "unsafe" | ||
| ) | ||
|
|
||
| // allocRDMAGPU allocates a CUDA device buffer of size bytes. The |
Collaborator
There was a problem hiding this comment.
const HasRDMA = true - so you can easily gate it for non-builds.
I assume we'll need a special release for this version once ready.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
github.com/minio/minio-go/v7from v7.1.0 to v7.2.0 (addsS3-over-RDMA dispatch via
Options.EnableRDMAand{Put,Get}ObjectOptions.RDMABuffer).--rdmastring flag on the I/O commands (visible onwarp put/warp get/ anything inheritingioFlags).--rdma=cpuallocates a per-op host buffer.--rdma=gpuallocates a CUDA device buffer (requires-tags=rdmabuild, linkslibcudart).pkg/bench/rdmabuf.go. GPUhelpers are gated by the existing
rdmabuild tag(
rdmabuf_rdma.govsrdmabuf_stub.go); no separatecudatag.Motivation
Enables warp-driven validation of MinIO AIStor's GPU-Direct RDMA
S3 path end-to-end (both host-pinned and GPU memory), against a
cluster running the matching
libp2p_rdma.sointernode creditfix that landed alongside.
How to test
Types of changes
Checklist
go build ./...passes (default build path)go build -tags=rdma .documented (requireslibcudart+libminiocpp.soon the link path)go mod tidy