Devotd Github
새 소식LLM 인프라

christopherowen/dgx-spark-networking — AllReduce 슬롯 제한 적용

christopherowen/dgx-spark-networking이 2026년 11월 1일 커밋에서 vLLM 연동의 자체 일회성 AllReduce 경로를 슬롯 크기 이하 전송에만 적용하도록 바꿨다.

저장소 정보christopherowen/dgx-spark-networking ↗

christopherowen/dgx-spark-networking이 2026년 11월 1일 커밋에서 vLLM 연동의 자체 일회성 AllReduce 경로를 슬롯 크기 이하 전송에만 적용하도록 바꿨다.

GitHub 설명: Switchless RoCE collectives, NCCL profiles and fabric tooling for DGX Spark inference recipes

스타
★ 31
포크
3
언어
Python
라이선스
Apache-2.0
원문 보기 ↗GitHub에서 보기 ↗

christopherowen/dgx-spark-networking은 DGX Spark에서 스위치 없이 RoCE(RDMA over Converged Ethernet) 기반 collective 연산을 처리하고 NCCL 프로파일과 파브릭 도구를 함께 담은 저장소다. 2026년 11월 1일 17:04 UTC에 올라온 커밋 1fd6a1fbd8dc4884057046d1ebd93d585c9e4bcf이 이 저장소의 vLLM 연동 한 파일(sparknet/integration/vllm/roce_all_reduce.py, 17줄 추가 5줄 삭제)을 손댔다. 내용은 하나다. vLLM 안에 붙은 자체 일회성 AllReduce 구현(SparknetOneShotAllReduce)이 이제 슬롯 한 개의 크기(_slot_bytes) 이하로 들어오는 전송만 처리한다.

변경은 판단 함수 세 곳에서 드러난다. reduce-scatter, exchange, all-to-all rows는 모두 텐서의 바이트 수를 _slot_bytes와 비교해, 크기를 넘기면 자체 경로를 쓰지 않고 PyNCCL(일반 NCCL 호출 경로)로 넘긴다. all-gather에서는 반대로 sliced=True 표시가 빠졌다. 커밋 메시지는 이렇게 좁힌 이유를 'large SP prefill chunks'가 PyNCCL을 쓰도록 하기 위한 것으로 설명한다. 프리필은 추론에서 입력을 먼저 통과시키는 구간이다.

다만 커밋 안에는 성능 수치가 없다. 슬롯 한 개의 크기가 얼마인지도 함께 제시되지 않아 어느 크기부터 경로가 갈라지는지 알 수 없다. 벤치마크도 이 자료에 없다. 저장소가 DGX Spark용 추론 레시피를 겨냥한 도구라는 점을 고려하면, 이 변경은 특정 하드웨어와 파브릭 구성 안에서 큰 입력을 표준 NCCL 경로로 넘기는 조정으로 읽히는 편이 맞다. 다른 환경에 그대로 적용할 개선이라기보다, 해당 구성에서의 동작을 바꿨다는 사실까지만 확인된다.