Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
155 changes: 90 additions & 65 deletions ci-wheel.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

ARG CUDA_VER=notset
Expand Down Expand Up @@ -81,39 +81,52 @@ RUN <<EOF
case "${LINUX_VER}" in
"ubuntu"*)
rapids-retry apt-get update -y
apt-get install -y \
autoconf \
automake \
build-essential \
ca-certificates \
cmake \
curl \
debianutils \
gcc \
git \
jq \
libbz2-dev \
libcudnn8-dev \
libcurl4-openssl-dev \
libffi-dev \
liblapack-dev \
libncurses5-dev \
libnuma-dev \
libopenblas-dev \
libopenslide-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
libtool \
openssh-client \
patch \
protobuf-compiler \
software-properties-common \
unzip \
wget \
yasm \
zip \
LIBRARIES_TO_INSTALL=(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can use the same array logic in other Dockerfiles? Let's do that as a followup.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, happy to do a small followup soon with this and some other minor cleanup

autoconf
automake
build-essential
ca-certificates
cmake
curl
debianutils
gcc
git
jq
libbz2-dev
libcudnn8-dev
libcurl4-openssl-dev
libffi-dev
liblapack-dev
libncurses5-dev
libnuma-dev
libopenblas-dev
libopenslide-dev
libreadline-dev
libsqlite3-dev
libssl-dev
libtool
openssh-client
patch
protobuf-compiler
software-properties-common
unzip
wget
yasm
zip
zlib1g-dev
)

# only re-install NCCL if there wasn't one already installed in the image
if ! apt list --installed | grep -E 'libnccl\-dev' 2>&1 >/dev/null; then
echo "libnccl-dev not found, manually installing it"
LIBRARIES_TO_INSTALL+=(libnccl-dev)
else
echo "libnccl-dev already installed"
fi

apt-get install -y --no-install-recommends \
"${LIBRARIES_TO_INSTALL[@]}"

update-ca-certificates
add-apt-repository ppa:git-core/ppa
add-apt-repository ppa:ubuntu-toolchain-r/test
Expand All @@ -128,39 +141,51 @@ case "${LINUX_VER}" in
dnf update -y
dnf install -y epel-release
dnf update -y
dnf install -y \
autoconf \
automake \
bzip2 \
bzip2-devel \
ca-certificates \
cmake \
curl \
dnf-plugins-core \
gcc \
git \
jq \
libcudnn8-devel \
libcurl-devel \
libffi-devel \
libtool \
ncurses-devel \
numactl \
numactl-devel \
openslide-devel \
openssh-clients \
patch \
protobuf-compiler \
readline-devel \
sqlite \
sqlite-devel \
unzip \
wget \
which \
xz \
xz-devel \
zip \
LIBRARIES_TO_INSTALL=(
autoconf
automake
bzip2
bzip2-devel
ca-certificates
cmake
curl
dnf-plugins-core
gcc
git
jq
libcudnn8-devel
libcurl-devel
libffi-devel
libtool
ncurses-devel
numactl
numactl-devel
openslide-devel
openssh-clients
patch
protobuf-compiler
readline-devel
sqlite
sqlite-devel
unzip
wget
which
xz
xz-devel
zip
zlib-devel
)

# only re-install NCCL if there wasn't one already installed in the image
if ! rpm --query --all | grep -E 'libnccl\-devel' > /dev/null 2>&1; then
echo "libnccl-devel not found, manually installing it"
LIBRARIES_TO_INSTALL+=(libnccl-devel)
else
echo "libnccl-devel already installed"
fi

dnf install -y \
"${LIBRARIES_TO_INSTALL[@]}"
update-ca-trust extract
dnf config-manager --set-enabled powertools
dnf install -y blas-devel lapack-devel
Expand Down
Loading