INFINIA
Overview
The INFINIA backend connects NIXL to DDN INFINIA object storage. It uses the INFINIA Client and its C++20 coroutine-based asynchronous API to read and write objects directly from registered host or GPU memory.
Installation
The backend requires an INFINIA installation containing these libraries and headers:
libred_client.solibred_async.sored/red_async.hppred/red_status.h
Configure NIXL with the path to the INFINIA installation:
The path must contain lib/ and include/ directories.
Configuration
Create the backend with parameters passed to createBackend("INFINIA", params):
The RED_CLUSTER, RED_TENANT, and RED_DATASET environment variables override backend parameters. RED_TENANT may include a subtenant as tenant/subtenant.
Alternatively, pass a configuration file:
Memory Registration
Register local buffers as DRAM_SEG or VRAM_SEG. Register the remote object as OBJ_SEG; its descriptor metaInfo is used as the object key. If metaInfo is empty, the backend uses the object descriptor’s device ID as the key.
Transfers are asynchronous. Poll them with checkXfer, and release completed request handles with releaseReqH.