@@ -27,9 +27,9 @@ INSTALL_DIR=$1
2727UCX_INSTALL_DIR=$2
2828EXTRA_BUILD_ARGS=${3:- " " }
2929# UCX_VERSION is the version of UCX to build override default with env variable.
30- UCX_VERSION=${UCX_VERSION:- v1.19.0 }
30+ UCX_VERSION=${UCX_VERSION:- v1.20.x }
3131# LIBFABRIC_VERSION is the version of libfabric to build override default with env variable.
32- LIBFABRIC_VERSION=${LIBFABRIC_VERSION:- v2.3 .0}
32+ LIBFABRIC_VERSION=${LIBFABRIC_VERSION:- v1.21 .0}
3333# LIBFABRIC_INSTALL_DIR can be set via environment variable, defaults to INSTALL_DIR
3434LIBFABRIC_INSTALL_DIR=${LIBFABRIC_INSTALL_DIR:- $INSTALL_DIR }
3535
@@ -57,7 +57,9 @@ ARCH=$(uname -m)
5757$SUDO rm -rf /usr/lib/cmake/grpc /usr/lib/cmake/protobuf
5858
5959$SUDO apt-get -qq update
60- $SUDO apt-get -qq install -y curl \
60+ $SUDO apt-get -qq install -y python3-dev \
61+ python3-pip \
62+ curl \
6163 wget \
6264 libnuma-dev \
6365 numactl \
@@ -101,6 +103,17 @@ $SUDO apt-get -qq install -y curl \
101103 libhwloc-dev \
102104 libcurl4-openssl-dev zlib1g-dev # aws-sdk-cpp dependencies
103105
106+ # Ubuntu 22.04 specific setup
107+ if grep -q " Ubuntu 22.04" /etc/os-release 2> /dev/null; then
108+ # Upgrade pip for '--break-system-packages' support
109+ $SUDO pip3 install --upgrade pip
110+
111+ # Upgrade meson (distro version 0.61.2 is too old, project requires >= 0.64.0)
112+ $SUDO pip3 install --upgrade meson
113+ # Ensure pip3's meson takes precedence over apt's version
114+ export PATH=" $HOME /.local/bin:/usr/local/bin:$PATH "
115+ fi
116+
104117# Add DOCA repository and install packages
105118ARCH_SUFFIX=$( if [ " ${ARCH} " = " aarch64" ]; then echo " arm64" ; else echo " amd64" ; fi)
106119MELLANOX_OS=" $( . /etc/lsb-release; echo ${DISTRIB_ID}${DISTRIB_RELEASE} | tr A-Z a-z | tr -d .) "
@@ -122,6 +135,11 @@ chmod +x rustup-init
122135./rustup-init -y --default-toolchain 1.86.0
123136export PATH=" $HOME /.cargo/bin:$PATH "
124137
138+ wget --tries=3 --waitretry=5 " https://astral.sh/uv/install.sh" -O install_uv.sh
139+ chmod +x install_uv.sh
140+ ./install_uv.sh
141+ export PATH=" $HOME /.local/bin:$PATH "
142+
125143curl -fSsL " https://github.com/openucx/ucx/tarball/${UCX_VERSION} " | tar xz
126144( \
127145 cd openucx-ucx* && \
@@ -167,7 +185,7 @@ rm "libfabric-${LIBFABRIC_VERSION#v}.tar.bz2"
167185 cd etcd-cpp-apiv3 && \
168186 mkdir build && cd build && \
169187 cmake .. && \
170- make -j" ${ NPROC:- $(nproc)} " && \
188+ make -j" $NPROC " && \
171189 $SUDO make install && \
172190 $SUDO ldconfig \
173191)
@@ -178,7 +196,7 @@ rm "libfabric-${LIBFABRIC_VERSION#v}.tar.bz2"
178196 mkdir aws_sdk_build && \
179197 cd aws_sdk_build && \
180198 cmake ../aws-sdk-cpp/ -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY=" s3" -DENABLE_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/usr/local && \
181- make -j" ${ NPROC:- $(nproc)} " && \
199+ make -j" $NPROC " && \
182200 $SUDO make install
183201)
184202
@@ -209,12 +227,13 @@ export CMAKE_PREFIX_PATH="${INSTALL_DIR}:${CMAKE_PREFIX_PATH}"
209227export UCX_TLS=^cuda_ipc
210228
211229# shellcheck disable=SC2086
212- meson setup nixl_build --prefix=${INSTALL_DIR} -Ducx_path=${UCX_INSTALL_DIR} -Dbuild_docs=true -Drust=false ${EXTRA_BUILD_ARGS} -Dlibfabric_path=" ${LIBFABRIC_INSTALL_DIR} "
213- ninja -C nixl_build && ninja -C nixl_build install
230+ meson setup nixl_build --prefix=${INSTALL_DIR} -Ducx_path=${UCX_INSTALL_DIR} -Dbuild_docs=true -Drust=false ${EXTRA_BUILD_ARGS} -Dlibfabric_path=" ${LIBFABRIC_INSTALL_DIR} " --buildtype=debug
231+ ninja -j" $NPROC " -C nixl_build && ninja -j" $NPROC " -C nixl_build install
232+ mkdir -p dist && cp nixl_build/src/bindings/python/nixl-meta/nixl-* .whl dist/
214233
215234# TODO(kapila): Copy the nixl.pc file to the install directory if needed.
216235# cp ${BUILD_DIR}/nixl.pc ${INSTALL_DIR}/lib/pkgconfig/nixl.pc
217236
218237cd benchmark/nixlbench
219238meson setup nixlbench_build -Dnixl_path=${INSTALL_DIR} -Dprefix=${INSTALL_DIR}
220- ninja -C nixlbench_build && ninja -C nixlbench_build install
239+ ninja -j " $NPROC " - C nixlbench_build && ninja -j " $NPROC " -C nixlbench_build install
0 commit comments