Enable RDMA / GPUDirect Storage (Optional)
masterFor high-performance workloads, put_object and get_object can dispatch to MinIO's RDMA + GPUDirect Storage path via minio-cpp. This is an opt-in feature.
Requirements
libminiocpp.somust be on the host's library search path (or specified via theMINIOCPP_LIBenvironment variable).libminiocpp.somust be built with-DMINIO_CPP_ENABLE_RDMA=ON.
Usage
- Set
enable_rdma=Truewhen initializing theMinioclient. - Use a buffer-protocol object (like
bytearray) for thedata=argument input_objector theinto=argument inget_objectto trigger RDMA. - For GPU buffers (e.g., CuPy or PyTorch), pass the raw pointer as an
inttodata=orinto=.
Warning: The SDK remains pure-Python unless these specific conditions are met.
from minio import Minio
client = Minio(
endpoint="server:9000",
access_key="...",
secret_key="...",
secure=False,
enable_rdma=True, # opt-in
)
buf = bytearray(1 << 20)
client.put_object(
bucket_name="b", object_name="o",
data=buf, length=len(buf), # buffer-protocol object selects RDMA
)
dst = bytearray(1 << 20)
n = client.get_object(
bucket_name="b", object_name="o",
into=dst, length=len(dst), # into= selects RDMA, returns bytes
)