Skip to content

Commit eba05b7

Browse files
authored
build UCX as well on CI (#577)
1 parent e4479cf commit eba05b7

File tree

1 file changed

+49
-29
lines changed

1 file changed

+49
-29
lines changed

.buildkite/pipeline.yml

Lines changed: 49 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,59 @@ steps:
66
env:
77
OPENMPI_VER: "4.0"
88
OPENMPI_VER_FULL: "4.0.3"
9+
UCX_VER: "1.12.1"
910
commands: |
1011
apt-get install --yes --no-install-recommends curl
11-
curl https://download.open-mpi.org/release/open-mpi/v$${OPENMPI_VER}/openmpi-$${OPENMPI_VER_FULL}.tar.gz --output openmpi.tar.gz
12+
13+
curl -L https://github.com/openucx/ucx/releases/download/v$${UCX_VER}/ucx-$${UCX_VER}.tar.gz --output ucx.tar.gz
14+
tar -zxvf ucx.tar.gz
15+
pushd ucx-*
16+
./configure --with-cuda=/usr/local/cuda --enable-mt --prefix=$$(realpath ../mpi-prefix)
17+
make -j
18+
make install
19+
popd
20+
21+
curl -L https://download.open-mpi.org/release/open-mpi/v$${OPENMPI_VER}/openmpi-$${OPENMPI_VER_FULL}.tar.gz --output openmpi.tar.gz
1222
tar -zxvf openmpi.tar.gz
1323
pushd openmpi-$${OPENMPI_VER_FULL}
14-
./configure --with-cuda --prefix=$$(realpath ../openmpi)
24+
./configure --with-ucx=$$(realpath ../mpi-prefix) --prefix=$$(realpath ../mpi-prefix)
25+
make -j
26+
make install
27+
popd
28+
29+
tar -zcvf mpi-prefix.tar.gz mpi-prefix/
30+
artifact_paths:
31+
- "mpi-prefix.tar.gz"
32+
- label: "Build OpenMPI -- ROCM"
33+
agents:
34+
queue: "juliagpu"
35+
rocm: "*" # todo fix ROCM version
36+
env:
37+
OPENMPI_VER: "4.0"
38+
OPENMPI_VER_FULL: "4.0.3"
39+
UCX_VER: "1.12.1"
40+
commands: |
41+
apt-get install --yes --no-install-recommends curl
42+
43+
curl -L https://github.com/openucx/ucx/releases/download/v$${UCX_VER}/ucx-$${UCX_VER}.tar.gz --output ucx.tar.gz
44+
tar -zxvf ucx.tar.gz
45+
pushd ucx-*
46+
./configure --with-rocm --enable-mt --prefix=$$(realpath ../mpi-prefix)
1547
make -j
1648
make install
1749
popd
18-
tar -zcvf openmpi.tar.gz openmpi/
50+
51+
curl -L https://download.open-mpi.org/release/open-mpi/v$${OPENMPI_VER}/openmpi-$${OPENMPI_VER_FULL}.tar.gz --output openmpi.tar.gz
52+
tar -zxvf openmpi.tar.gz
53+
pushd openmpi-*
54+
./configure --with-ucx=$$(realpath ../mpi-prefix) --prefix=$$(realpath ../mpi-prefix)
55+
make -j
56+
make install
57+
popd
58+
59+
tar -zcvf mpi-prefix.tar.gz mpi-prefix/
1960
artifact_paths:
20-
- "openmpi.tar.gz"
21-
# TODO: Need to build UCX with ROCM support first
22-
# Spack for CI?
23-
# - label: "Build OpenMPI -- ROCM"
24-
# agents:
25-
# queue: "juliagpu"
26-
# rocm: "*" # todo fix ROCM version
27-
# env:
28-
# OPENMPI_VER: "4.0"
29-
# OPENMPI_VER_FULL: "4.0.3"
30-
# commands: |
31-
# apt-get install --yes --no-install-recommends curl
32-
# curl https://download.open-mpi.org/release/open-mpi/v$${OPENMPI_VER}/openmpi-$${OPENMPI_VER_FULL}.tar.gz --output openmpi.tar.gz
33-
# tar -zxvf openmpi.tar.gz
34-
# pushd openmpi-$${OPENMPI_VER_FULL}
35-
# ./configure --with-ucx --prefix=$$(realpath ../openmpi)
36-
# make -j
37-
# make install
38-
# popd
39-
# tar -zcvf openmpi.tar.gz openmpi/
40-
# artifact_paths:
41-
# - "openmpi.tar.gz"
61+
- "mpi-prefix.tar.gz"
4262
- wait: ~
4363
- label: "CUDA -- 1.6"
4464
plugins:
@@ -61,9 +81,9 @@ steps:
6181
soft_fail: true
6282
commands: |
6383
echo "--- Configure MPI"
64-
buildkite-agent artifact download --step "Build OpenMPI -- CUDA" openmpi.tar.gz .
84+
buildkite-agent artifact download --step "Build OpenMPI -- CUDA" mpi-prefix.tar.gz .
6585
mkdir -p $${JULIA_MPI_PATH}
66-
tar -zxvf openmpi.tar.gz --strip-components 1 -C $${JULIA_MPI_PATH}
86+
tar -zxvf mpi-prefix.tar.gz --strip-components 1 -C $${JULIA_MPI_PATH}
6787
export PATH=$${JULIA_MPI_PATH}/bin:$${PATH}
6888
export LD_LIBRARY_PATH=$${JULIA_MPI_PATH}/lib:$${LD_LIBRARY_PATH}
6989
@@ -102,9 +122,9 @@ steps:
102122
soft_fail: true
103123
commands: |
104124
echo "--- Configure MPI"
105-
buildkite-agent artifact download --step "Build OpenMPI -- CUDA" openmpi.tar.gz .
125+
buildkite-agent artifact download --step "Build OpenMPI -- CUDA" mpi-prefix.tar.gz .
106126
mkdir -p $${JULIA_MPI_PATH}
107-
tar -zxvf openmpi.tar.gz --strip-components 1 -C $${JULIA_MPI_PATH}
127+
tar -zxvf mpi-prefix.tar.gz --strip-components 1 -C $${JULIA_MPI_PATH}
108128
export PATH=$${JULIA_MPI_PATH}/bin:$${PATH}
109129
export LD_LIBRARY_PATH=$${JULIA_MPI_PATH}/lib:$${LD_LIBRARY_PATH}
110130

0 commit comments

Comments
 (0)