[Huawei] [WIP] Ascend code for FlagCX #292
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Unit Tests in Container | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
unit-test: | |
runs-on: self-hosted | |
container: | |
image: localhost:5000/flagscale:cuda-12.4.1-python-3.12-torch-2.5.1-commit-e05f659 | |
options: --gpus all --privileged --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ github.event.pull_request.head.repo.full_name }} | |
ref: ${{ github.event.pull_request.head.ref }} | |
ssh-strict: true | |
ssh-user: git | |
persist-credentials: true | |
clean: true | |
fetch-tags: false | |
show-progress: true | |
lfs: false | |
submodules: true | |
set-safe-directory: true | |
- name: Set up Python and Install Dependencies | |
run: | | |
apt update -y | |
apt-get install -y python3 python3-pip python3-venv git | |
python3 -m venv venv | |
cd /__w/FlagCX/FlagCX | |
. venv/bin/activate | |
git config --global --add safe.directory /__w/FlagCX/FlagCX | |
git status | |
pip install pre-commit | |
pre-commit install | |
- name: Run Code Format Check with pre-commit | |
run: | | |
cd /__w/FlagCX/FlagCX | |
. venv/bin/activate | |
apt update -y | |
apt-get install clang-format -y | |
git fetch --all | |
from_ref=${GITHUB_HEAD_REF} | |
to_ref=${GITHUB_BASE_REF} | |
echo "From branch: $from_ref, To branch: $to_ref" | |
pre-commit run --from-ref "origin/$from_ref" --to-ref "origin/$to_ref" | |
continue-on-error: false | |
- name: Build Google Test | |
run: | | |
cd /__w/FlagCX/FlagCX/third-party/googletest | |
mkdir -p build | |
cd build | |
cmake .. | |
make | |
- name: Run `make` to build the project | |
run: | | |
cd /__w/FlagCX/FlagCX | |
export MPI_HOME=/usr/local/mpi | |
make USE_NVIDIA=1 | |
- name: Enter test/unittest and run `make` for unit tests | |
run: | | |
cd /__w/FlagCX/FlagCX/test/unittest | |
export MPI_HOME=/usr/local/mpi | |
make | |
- name: Run unit tests with mpirun | |
run: | | |
cd /__w/FlagCX/FlagCX/test/unittest | |
mpirun -np 8 ./build/bin/main |