|
6 | 6 | env:
|
7 | 7 | OPENMPI_VER: "4.0"
|
8 | 8 | OPENMPI_VER_FULL: "4.0.3"
|
| 9 | + UCX_VER: "1.12.1" |
9 | 10 | commands: |
|
10 | 11 | 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 |
12 | 22 | tar -zxvf openmpi.tar.gz
|
13 | 23 | 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) |
15 | 47 | make -j
|
16 | 48 | make install
|
17 | 49 | 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/ |
19 | 60 | 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" |
42 | 62 | - wait: ~
|
43 | 63 | - label: "CUDA -- 1.6"
|
44 | 64 | plugins:
|
|
61 | 81 | soft_fail: true
|
62 | 82 | commands: |
|
63 | 83 | 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 . |
65 | 85 | 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} |
67 | 87 | export PATH=$${JULIA_MPI_PATH}/bin:$${PATH}
|
68 | 88 | export LD_LIBRARY_PATH=$${JULIA_MPI_PATH}/lib:$${LD_LIBRARY_PATH}
|
69 | 89 |
|
@@ -102,9 +122,9 @@ steps:
|
102 | 122 | soft_fail: true
|
103 | 123 | commands: |
|
104 | 124 | 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 . |
106 | 126 | 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} |
108 | 128 | export PATH=$${JULIA_MPI_PATH}/bin:$${PATH}
|
109 | 129 | export LD_LIBRARY_PATH=$${JULIA_MPI_PATH}/lib:$${LD_LIBRARY_PATH}
|
110 | 130 |
|
|
0 commit comments