[Documentation] AWS EFA/LIBFABRIC deployment guide for disaggregated inference
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 14.7k
- Forks
- 2.8k
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 489
Description
Summary
Request for documentation on deploying TensorRT-LLM disaggregated inference with LIBFABRIC backend on AWS EFA. While PR #9225 added LIBFABRIC support, there's no guide on how to configure it properly with Dynamo on AWS.
Background
TensorRT-LLM v1.2.0rc5 added LIBFABRIC backend support for NIXL KV cache transfer (PR #9225). However, deploying this on AWS with EFA requires:
- Understanding which binaries support LIBFABRIC (
kSUPPORTED_BACKENDSintransferAgent.cpp) - Proper environment variables for LIBFABRIC/EFA
- Integration with NVIDIA Dynamo for disaggregated inference
- Kubernetes configuration for EFA devices
Current Challenges
When trying to use LIBFABRIC on AWS EFA, we encountered:
- Version Compatibility: Dynamo's base image uses rc4 which doesn't have LIBFABRIC support
- API Changes: rc5 changed
fused_qk_norm_ropefrom 15 to 16 arguments, breaking compatibility - ABI Issues: Mixing rc4 and rc5 binaries causes segfaults
- Dynamo Integration: Dynamo's
nixl_connectdoesn't readNIXL_BACKENDenv var
Requested Documentation
-
Supported Configurations
- Which TRT-LLM versions support LIBFABRIC?
- What are the binary compatibility requirements?
-
Environment Variables
NIXL_BACKEND=LIBFABRICFI_PROVIDER=efaFI_EFA_USE_DEVICE_RDMA=1- Required library paths
-
Kubernetes Deployment
- EFA device mounting (
/dev/infiniband) - Required capabilities (
IPC_LOCK,SYS_RESOURCE) - Hugepages configuration
- EFA device mounting (
-
Integration with Dynamo
- How to configure NIXL backend in disaggregated mode
- NIXL side channel configuration for cross-node
Environment
- TensorRT-LLM: 1.2.0rc5
- Platform: AWS EKS with p5.48xlarge (H100 + EFA)
- Dynamo: Latest
Additional Context
We've successfully deployed TRT-LLM with LIBFABRIC on AWS EFA by:
- Replacing rc5 binaries into Dynamo base image
- Patching Python code for API compatibility
- Patching Dynamo nixl_connect to read NIXL_BACKEND
A documentation guide would help other users avoid these challenges.
Reference Implementation
We've documented our working solution:
https://github.com/dmvevents/dynamo-vault
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with PR #9225 and the kSUPPORTED_BACKENDS reference in transferAgent.cpp, then review the working solution at github.com/dmvevents/dynamo-vault. Document supported TRT-LLM and Dynamo versions, required LIBFABRIC/EFA environment variables, Kubernetes EFA settings, and Dynamo disaggregated-inference configuration. Done means users can follow the guide to deploy the stated AWS EKS setup without the reported compatibility and ABI problems.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, kubernetes, python
- Domain
- cloud, devops, documentation, infrastructure
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100