arx.yaml 1.2 KB

123456789101112131415161718
  1. # EXPERIMENT: arx RDMA all-reduce for decode-sized TP all-reduces (see arx.py),
  2. # and with VLLM_ARXBIG=1 arxbig.cu's all-gather for prefill-sized SP gathers.
  3. # docker compose -f compose/glm53.yaml -f compose/arx.yaml up -d
  4. services:
  5. glm53:
  6. volumes:
  7. - ../experimental/arx/arx.py:/usr/local/lib/python3.12/dist-packages/vllm/distributed/device_communicators/arx.py:ro
  8. - ../experimental/arx/arx_vllm.cu:/usr/local/lib/python3.12/dist-packages/vllm/distributed/device_communicators/arx_vllm.cu:ro
  9. - ../experimental/arx/arxbig.cu:/usr/local/lib/python3.12/dist-packages/vllm/distributed/device_communicators/arxbig.cu:ro
  10. - ../experimental/arx/cuda_communicator.py:/usr/local/lib/python3.12/dist-packages/vllm/distributed/device_communicators/cuda_communicator.py:ro
  11. environment:
  12. - VLLM_ARX_ALLREDUCE=1
  13. - VLLM_ARXBIG=${VLLM_ARXBIG:-1}
  14. - VLLM_ARXBIG_RS=${VLLM_ARXBIG_RS:-1}
  15. - VLLM_ARXBIG_AG=${VLLM_ARXBIG_AG:-0}
  16. # Decode all-reduces above 256 KB and up to this size run arx's two-shot mode
  17. # (reduce-scatter + all-gather over RDMA); 0 sends them to NCCL.
  18. - VLLM_ARX_TWO_SHOT_MAX_KB=${VLLM_ARX_TWO_SHOT_MAX_KB:-2048}