Run everything with pixi run. dev and vllm both define a submit task, so the
env flag is mandatory: pixi run -e dev <task>.
Unit tests only cover disjoint-mesh CPU paths — run all three layers:
- Unit tests (CPU/gloo, ~9 min):
pixi run -e dev pytest tests/test_communication_cpu.py \ tests/test_communication_symmetric_mesh.py \ tests/test_communication_replicate_shard.py tests/test_partial_chunk_reduce.py - Transfer benchmark (GPU/NCCL):
pixi run -e dev submit bench/run_benchmark.sh. Quick single-node check (P2P/BROADCAST/SHADOW paths):ETHA_BENCH_SMOKE=1 pixi run -e dev torchrun --nnodes=1 --nproc-per-node=8 \ --master-addr=localhost --master-port=29555 ./bench/transfer_benchmark.py - vLLM weight-sync example (8 GPUs, the only end-to-end production-path check):
pixi run -e vllm vllm_weight_sync. SetHF_HOME=/data/hf(cached 30B model). Long-running — monitor under an agent, not inline.
Gotchas:
- vLLM env build failing with
Permission deniedin.pixi/build/work/: a stale read-only git checkout —chmod -R u+w .pixi/build/work/vllm-*then retry.