Skip to content

Commit cd35dc0

Browse files
committed
Update CI workflows and allow make clean without platform flag
1 parent 7a552f2 commit cd35dc0

6 files changed

Lines changed: 23 additions & 51 deletions

File tree

.github/workflows/test.yml

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -128,19 +128,16 @@ jobs:
128128
-x LD_LIBRARY_PATH \
129129
$DEVICE_API_BIN/perf_allreduce_intranode -b 1M -e 64M -f 2 -R 1
130130
131-
# - name: "Device API perf (inter-node two-sided)"
132-
# run: |
133-
# export PATH=$MPI_HOME/bin:$PATH
134-
# export LD_LIBRARY_PATH=/__w/FlagCX/FlagCX/build/lib:$LD_LIBRARY_PATH
135-
# mpirun -np 8 --allow-run-as-root \
136-
# $DEVICE_API_BIN/perf_internode_twosided -b 1M -e 64M -f 2 -R 1
137-
138-
# - name: "Device API perf (inter-node one-sided)"
139-
# run: |
140-
# export PATH=$MPI_HOME/bin:$PATH
141-
# export LD_LIBRARY_PATH=/__w/FlagCX/FlagCX/build/lib:$LD_LIBRARY_PATH
142-
# mpirun -np 8 --allow-run-as-root \
143-
# $DEVICE_API_BIN/perf_internode_onesided -b 1M -e 64M -f 2 -R 2
131+
- name: "Device API perf (inter-node one-sided)"
132+
run: |
133+
export PATH=$MPI_HOME/bin:$PATH
134+
export LD_LIBRARY_PATH=/__w/FlagCX/FlagCX/build/lib:$LD_LIBRARY_PATH
135+
COMMON_ENV="-x FLAGCX_USE_HETERO_COMM=1 -x FLAGCX_MEM_ENABLE=1 -x FLAGCX_VMM_ENABLE=0 -x FLAGCX_P2P_DISABLE=1 -x LD_LIBRARY_PATH"
136+
NODE1_FLAG="-x CUDA_VISIBLE_DEVICES=0,1,2,3 -x FLAGCX_HOSTID=node0 -x FLAGCX_IB_HCA=mlx5_0,mlx5_1,mlx5_2,mlx5_3"
137+
NODE2_FLAG="-x CUDA_VISIBLE_DEVICES=4,5,6,7 -x FLAGCX_HOSTID=node1 -x FLAGCX_IB_HCA=mlx5_4,mlx5_5,mlx5_6,mlx5_7"
138+
mpirun --allow-run-as-root \
139+
-np 4 ${COMMON_ENV} ${NODE1_FLAG} $DEVICE_API_BIN/perf_internode_onesided -b 1M -e 64M -f 2 -R 1 \
140+
: -np 4 ${COMMON_ENV} ${NODE2_FLAG} $DEVICE_API_BIN/perf_internode_onesided -b 1M -e 64M -f 2 -R 1
144141
145142
- name: "P2P Engine perf (one-sided read/write)"
146143
run: |

.github/workflows/unit-test.yml

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -108,30 +108,3 @@ jobs:
108108
# export PATH=$MPI_HOME/bin:$PATH
109109
# mpirun -np 8 --allow-run-as-root -x FLAGCX_MEM_ENABLE=1 -x FLAGCX_USE_HETERO_COMM=1 -x FLAGCX_P2P_DISABLE=1 -x FLAGCX_VMM_ENABLE=0 -x FLAGCX_DEBUG=TRACE -x FLAGCX_DEBUG_SUBSYS=ALL ./build/bin/kernel_mpi_tests
110110

111-
- name: Run intra-node device_api tests with mpirun
112-
run: |
113-
cd /__w/FlagCX/FlagCX/test/unittest/device_api
114-
export MPI_HOME=/usr/local/mpi
115-
export PATH=$MPI_HOME/bin:$PATH
116-
export LD_LIBRARY_PATH=/__w/FlagCX/FlagCX/build/lib:$LD_LIBRARY_PATH
117-
COMMON_ENV="-x FLAGCX_USE_HETERO_COMM=1 -x FLAGCX_MEM_ENABLE=1 -x FLAGCX_VMM_ENABLE=0 -x FLAGCX_P2P_DISABLE=1 -x LD_LIBRARY_PATH"
118-
FLAGS="-b 1M -e 4M -f 2 -R 2"
119-
mpirun -np 8 --allow-run-as-root ${COMMON_ENV} build/bin/test_device_api ${FLAGS}
120-
mpirun -np 8 --allow-run-as-root ${COMMON_ENV} build/bin/test_device_ir_intra ${FLAGS}
121-
122-
- name: Run inter-node device_api tests with mpirun (simulate 2 nodes)
123-
run: |
124-
cd /__w/FlagCX/FlagCX/test/unittest/device_api
125-
export MPI_HOME=/usr/local/mpi
126-
export PATH=$MPI_HOME/bin:$PATH
127-
export LD_LIBRARY_PATH=/__w/FlagCX/FlagCX/build/lib:$LD_LIBRARY_PATH
128-
COMMON_ENV="-x FLAGCX_USE_HETERO_COMM=1 -x FLAGCX_MEM_ENABLE=1 -x FLAGCX_VMM_ENABLE=0 -x FLAGCX_P2P_DISABLE=1 -x LD_LIBRARY_PATH"
129-
FLAGS="-b 1M -e 4M -f 2 -R 2"
130-
NODE1_FLAG="-x CUDA_VISIBLE_DEVICES=0,1,2,3 -x FLAGCX_HOSTID=node0 -x FLAGCX_IB_HCA=mlx5_0,mlx5_1,mlx5_2,mlx5_3"
131-
NODE2_FLAG="-x CUDA_VISIBLE_DEVICES=4,5,6,7 -x FLAGCX_HOSTID=node1 -x FLAGCX_IB_HCA=mlx5_4,mlx5_5,mlx5_6,mlx5_7"
132-
mpirun --allow-run-as-root \
133-
-np 4 ${COMMON_ENV} ${NODE1_FLAG} build/bin/test_device_api ${FLAGS} \
134-
: -np 4 ${COMMON_ENV} ${NODE2_FLAG} build/bin/test_device_api ${FLAGS}
135-
mpirun --allow-run-as-root \
136-
-np 4 ${COMMON_ENV} ${NODE1_FLAG} build/bin/test_device_ir_inter ${FLAGS} \
137-
: -np 4 ${COMMON_ENV} ${NODE2_FLAG} build/bin/test_device_ir_inter ${FLAGS}

.github/workflows/unittest-device-api.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ jobs:
5252
export PATH=$MPI_HOME/bin:$PATH
5353
export LD_LIBRARY_PATH=/__w/FlagCX/FlagCX/build/lib:$LD_LIBRARY_PATH
5454
COMMON_ENV="-x FLAGCX_USE_HETERO_COMM=1 -x FLAGCX_MEM_ENABLE=1 -x FLAGCX_VMM_ENABLE=0 -x FLAGCX_P2P_DISABLE=1 -x LD_LIBRARY_PATH"
55-
FLAGS="-b 1M -e 4M -f 2 -R 2"
56-
mpirun -np 8 --allow-run-as-root ${COMMON_ENV} build/bin/test_device_api ${FLAGS}
55+
FLAGS="-b 1M -e 4M -f 2 -R 1"
56+
mpirun -np 8 --allow-run-as-root ${COMMON_ENV} build/bin/test_device_api_intra ${FLAGS}
5757
mpirun -np 8 --allow-run-as-root ${COMMON_ENV} build/bin/test_device_ir_intra ${FLAGS}
5858
5959
- name: Run inter-node tests (simulate 2 nodes, 4 GPUs each)
@@ -63,12 +63,12 @@ jobs:
6363
export PATH=$MPI_HOME/bin:$PATH
6464
export LD_LIBRARY_PATH=/__w/FlagCX/FlagCX/build/lib:$LD_LIBRARY_PATH
6565
COMMON_ENV="-x FLAGCX_USE_HETERO_COMM=1 -x FLAGCX_MEM_ENABLE=1 -x FLAGCX_VMM_ENABLE=0 -x FLAGCX_P2P_DISABLE=1 -x LD_LIBRARY_PATH"
66-
FLAGS="-b 1M -e 4M -f 2 -R 2"
66+
FLAGS="-b 1M -e 4M -f 2 -R 1"
6767
NODE1_FLAG="-x CUDA_VISIBLE_DEVICES=0,1,2,3 -x FLAGCX_HOSTID=node0 -x FLAGCX_IB_HCA=mlx5_0,mlx5_1,mlx5_2,mlx5_3"
6868
NODE2_FLAG="-x CUDA_VISIBLE_DEVICES=4,5,6,7 -x FLAGCX_HOSTID=node1 -x FLAGCX_IB_HCA=mlx5_4,mlx5_5,mlx5_6,mlx5_7"
6969
mpirun --allow-run-as-root \
70-
-np 4 ${COMMON_ENV} ${NODE1_FLAG} build/bin/test_device_api ${FLAGS} \
71-
: -np 4 ${COMMON_ENV} ${NODE2_FLAG} build/bin/test_device_api ${FLAGS}
70+
-np 4 ${COMMON_ENV} ${NODE1_FLAG} build/bin/test_device_api_inter ${FLAGS} \
71+
: -np 4 ${COMMON_ENV} ${NODE2_FLAG} build/bin/test_device_api_inter ${FLAGS}
7272
mpirun --allow-run-as-root \
7373
-np 4 ${COMMON_ENV} ${NODE1_FLAG} build/bin/test_device_ir_inter ${FLAGS} \
7474
: -np 4 ${COMMON_ENV} ${NODE2_FLAG} build/bin/test_device_ir_inter ${FLAGS}

flagcx/adaptor/device_api/nccl_dev_api_backend.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ static flagcxResult_t ncclDevApiCommGetDevicePtr(flagcxDevComm_t devComm,
171171

172172
devComm->cachedDevicePtr = dPtr;
173173
devComm->cachedNetContextsPtr = netDevPtr;
174-
devComm->cachedGridSyncPtr = gridSyncPtr;
174+
devComm->cachedGridBarrierPtr = gridSyncPtr;
175175
*devPtr = dPtr;
176176
pthread_mutex_unlock(&devComm->cachedPtrMutex);
177177
return flagcxSuccess;
@@ -195,10 +195,10 @@ static flagcxResult_t ncclDevApiCommFreeDevicePtr(flagcxDevComm_t devComm) {
195195
return flagcxSuccess;
196196

197197
pthread_mutex_lock(&devComm->cachedPtrMutex);
198-
if (devComm->cachedGridSyncPtr) {
199-
deviceAdaptor->deviceFree(devComm->cachedGridSyncPtr, flagcxMemDevice,
198+
if (devComm->cachedGridBarrierPtr) {
199+
deviceAdaptor->deviceFree(devComm->cachedGridBarrierPtr, flagcxMemDevice,
200200
NULL);
201-
devComm->cachedGridSyncPtr = nullptr;
201+
devComm->cachedGridBarrierPtr = nullptr;
202202
}
203203
if (devComm->cachedNetContextsPtr) {
204204
deviceAdaptor->deviceFree(devComm->cachedNetContextsPtr, flagcxMemDevice,

flagcx/adaptor/include/device_api/flagcx_device_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ struct flagcxDevCommInternal {
9696
// ---- Device pointer cache (for Triton integration) ----
9797
void *cachedDevicePtr; // Lazily allocated by flagcxDevCommGetDevicePtr
9898
void *cachedNetContextsPtr; // Device memory for pre-allocated flagcxDevNet[]
99-
void *cachedGridSyncPtr; // Device memory for grid sync state (2 x uint32)
99+
void *cachedGridBarrierPtr; // Device memory for grid sync state (2 x uint32)
100100
pthread_mutex_t cachedPtrMutex; // Protects lazy init of cachedDevicePtr and
101101
// cachedNetContextsPtr
102102
};

test/make.inc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ else ifeq ($(USE_ASCEND), 1)
7979
else ifeq ($(USE_METAX), 1)
8080
include $(PROJECT_ROOT)/makefiles/metax.mk
8181
else
82-
$(error No platform selected. Set one of USE_NVIDIA=1, USE_DU=1, USE_ASCEND=1, USE_METAX=1, etc.)
82+
ifneq ($(MAKECMDGOALS),clean)
83+
$(error No platform selected. Set one of USE_NVIDIA=1, USE_DU=1, USE_ASCEND=1, USE_METAX=1, etc.)
84+
endif
8385
endif
8486

8587
# Test-specific overrides (format for compiler flags)

0 commit comments

Comments
 (0)