forked from openucx/ucc
-
Notifications
You must be signed in to change notification settings - Fork 0
81 lines (76 loc) · 2.51 KB
/
main.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
name: CI
on: [push, pull_request]
env:
OPEN_UCX_LINK: https://github.com/openucx/ucx
OPEN_UCX_BRANCH: master
OPEN_MPI_LINK: https://github.com/open-mpi/ompi.git
OPEN_MPI_BRANCH: v5.0.x
IMB_LINK: https://github.com/intel/mpi-benchmarks.git
IMB_COLLS: allgather,allgatherv,allreduce,alltoall,alltoallv,barrier,bcast,gather,gatherv,reduce,reduce_scatter,reduce_scatter_block,scatter,scatterv
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends doxygen doxygen-latex
- name: Get UCX
run: git clone ${OPEN_UCX_LINK} -b ${OPEN_UCX_BRANCH} /tmp/ucx
- name: Build UCX
run: |
cd /tmp/ucx && ./autogen.sh
./contrib/configure-release --without-java --without-go --disable-numa --prefix $PWD/install
make -j install
- uses: actions/checkout@v1
- name: Build UCC
run: |
./autogen.sh
./configure --prefix=/tmp/ucc/install --enable-gtest --with-ucx=/tmp/ucx/install
make -j`nproc` install
make gtest
- name: Run ucc_info
run: |
/tmp/ucc/install/bin/ucc_info -vc
- name: Run CMake tests
run: |
set -e
cmake -S test/cmake -B /tmp/cmake-ucc -DCMAKE_PREFIX_PATH=/tmp/ucc/install
cd /tmp/cmake-ucc
cmake --build .
./test_ucc
- name: Get OMPI
run: |
git clone ${OPEN_MPI_LINK} -b ${OPEN_MPI_BRANCH} /tmp/ompi
cd /tmp/ompi
git submodule update --init --recursive
- name: Build OMPI
run: >
cd /tmp/ompi
./autogen.pl --exclude pml-cm,mtl,coll-adapt,coll-han,coll-inter,coll-ftagree
./configure
--prefix=/tmp/ompi/install
--enable-mpirun-prefix-by-default
--disable-mpi-fortran
--disable-man-pages
--with-ucx=/tmp/ucx/install
--with-ucc=/tmp/ucc/install
make -j install
- name: Get IMB
run: git clone ${IMB_LINK} /tmp/imb
- name: Build IMB
run: |
cd /tmp/imb
make CC=/tmp/ompi/install/bin/mpicc CXX=/tmp/ompi/install/bin/mpicxx CPPFLAGS="-DCHECK=1" -j IMB-MPI1
- name: Run IMB-DCHECK
run: >
/tmp/ompi/install/bin/mpirun
-np 8
-H localhost:8
--bind-to none
--mca pml ucx
--mca pml_ucx_tls any
--mca pml_ucx_devices any
--mca coll_ucc_priority 100
--mca coll_ucc_enable 1
/tmp/imb/IMB-MPI1 ${IMB_COLLS} -iter 10 -iter_policy off