Skip to content

[EP]: Add NUMA-aware NIC selection tie-breaker (#848) #27

[EP]: Add NUMA-aware NIC selection tie-breaker (#848)

[EP]: Add NUMA-aware NIC selection tie-breaker (#848) #27

Workflow file for this run

name: UCCL Build & Test (L4)
on:
push:
branches:
- main
pull_request:
branches:
- main
types: [labeled, synchronize, reopened]
concurrency:
group: l4-uccl-build
cancel-in-progress: false
jobs:
build-on-l4:
if: >
github.event_name == 'push' ||
(github.event_name == 'pull_request' &&
contains(github.event.pull_request.labels.*.name, 'run-benchmark'))
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout (for artifacts/consistency)
uses: actions/checkout@v4
- name: Setup SSH for l4-sky-test-01
shell: bash
run: |
set -euo pipefail
mkdir -p ~/.ssh
echo "${{ secrets.L4_SSH_KEY }}" > ~/.ssh/l4_key
chmod 600 ~/.ssh/l4_key
cat >> ~/.ssh/config <<EOF
Host l4-sky-test-01
HostName "${{ secrets.UCCL_DEV_L4_HOST0 }}"
User skytestuser
IdentityFile ~/.ssh/l4_key
IdentitiesOnly yes
EOF
ssh-keyscan -H "${{ secrets.UCCL_DEV_L4_HOST0 }}" >> ~/.ssh/known_hosts
- name: Sync PR code to remote
shell: bash
run: |
set -euo pipefail
git submodule update --init --recursive thirdparty/nccl
rsync -az --delete \
-e "ssh -o BatchMode=yes" \
./ep ./collective/rdma ./p2p \
./ l4-sky-test-01:/home/skytestuser/uccl-test/
- name: Build & verify UCCL on remote
shell: bash
run: |
set -euo pipefail
ssh -o BatchMode=yes l4-sky-test-01 'bash -lc "
set -euo pipefail
# Explicitly load the right conda init
source \$HOME/miniconda3/etc/profile.d/conda.sh
if ! command -v conda >/dev/null 2>&1; then
echo \"conda not found even after sourcing\" >&2
exit 1
fi
# Create env if missing
conda info --envs | awk \x27{print \$1}\x27 | grep -qx uccl || conda create -y -n uccl python=3.12
conda activate uccl
cd /home/skytestuser/uccl-test
TORCH_CUDA_ARCH_LIST="9.0" ./build.sh cu12 all 3.12 --install 2>&1 | tee build.log
grep -q \"Successfully installed uccl-\" build.log
"'
- name: Fetch remote build.log
if: always()
shell: bash
run: |
set -euo pipefail
scp -o BatchMode=yes l4-sky-test-01:/home/skytestuser/uccl-test/build.log ./build.log || true
- name: Upload build.log artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: build-log-l4
path: build.log