Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[breaking][CI] Use CTK 12.4 #10697

Merged
merged 17 commits into from
Aug 22, 2024
Merged
Show file tree
Hide file tree
Changes from 13 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
2 changes: 1 addition & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Checks: 'modernize-*,-modernize-use-nodiscard,-modernize-concat-nested-namespaces,-modernize-make-*,-modernize-use-auto,-modernize-raw-string-literal,-modernize-avoid-c-arrays,-modernize-use-trailing-return-type,google-*,-google-default-arguments,-clang-diagnostic-#pragma-messages,readability-identifier-naming'
Checks: 'modernize-*,-modernize-use-nodiscard,-modernize-concat-nested-namespaces,-modernize-make-*,-modernize-use-auto,-modernize-type-traits,-modernize-raw-string-literal,-modernize-avoid-c-arrays,-modernize-use-trailing-return-type,google-*,-google-default-arguments,-clang-diagnostic-#pragma-messages,readability-identifier-naming'
CheckOptions:
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
- { key: readability-identifier-naming.StructCase, value: CamelCase }
Expand Down
9 changes: 9 additions & 0 deletions include/xgboost/collective/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ using ssize_t = int;
#define HOST_NAME_MAX 256 // macos
#endif

// Disable BlockInCriticalSection check from clang-tidy
// Clang-tidy generates a false positive warning because
// it erroreously assumes that all recv() calls are blocking.
// Here, we will trust users to set NonBlocking() flag to
// the socket before using Recv() in a critical section.
// NOLINTBEGIN(clang-analyzer-unix.BlockInCriticalSection)

namespace xgboost {

#if defined(xgboost_IS_MINGW)
Expand Down Expand Up @@ -828,4 +835,6 @@ Result INetNToP(H const &host, std::string *p_out) {
} // namespace collective
} // namespace xgboost

// NOLINTEND(clang-analyzer-unix.BlockInCriticalSection)

#undef xgboost_CHECK_SYS_CALL
2 changes: 1 addition & 1 deletion src/common/cuda_pinned_allocator.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace cuda {
//
// \see https://en.cppreference.com/w/cpp/memory/allocator
template <typename T>
class pinned_allocator;
class pinned_allocator; // NOLINT(readability-identifier-naming)

template <>
class pinned_allocator<void> {
Expand Down
8 changes: 4 additions & 4 deletions tests/buildkite/conftest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ function set_buildkite_env_vars_in_container {

set -x

CUDA_VERSION=11.8.0
NCCL_VERSION=2.16.5-1
RAPIDS_VERSION=24.06
DEV_RAPIDS_VERSION=24.08
CUDA_VERSION=12.4.1
NCCL_VERSION=2.22.3-1
RAPIDS_VERSION=24.08
DEV_RAPIDS_VERSION=24.10
SPARK_VERSION=3.5.1
JDK_VERSION=8
R_VERSION=4.3.2
Expand Down
9 changes: 6 additions & 3 deletions tests/ci_build/Dockerfile.clang_tidy
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,16 @@ RUN \
apt-get update && \
apt-get install -y wget git python3 python3-pip software-properties-common \
apt-transport-https ca-certificates gnupg-agent && \
apt-get install -y llvm-15 clang-tidy-15 clang-15 libomp-15-dev && \
apt-add-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main" && \
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc && \
apt-get update && \
apt-get install -y llvm-19 clang-tidy-19 clang-19 libomp-19-dev && \
apt-get install -y cmake

# Set default clang-tidy version
RUN \
update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-15 100 && \
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 100
update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-19 100 && \
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-19 100

RUN \
apt-get install libgtest-dev libgmock-dev -y
Expand Down
11 changes: 8 additions & 3 deletions tests/ci_build/Dockerfile.cpu
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM ubuntu:22.04

# Environment
ENV DEBIAN_FRONTEND=noninteractive
SHELL ["/bin/bash", "-c"] # Use Bash as shell
SHELL ["/bin/bash", "-c"]

# Install all basic requirements
RUN \
Expand All @@ -24,9 +24,14 @@ ENV GOSU_VERSION=1.10
ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

# Install gRPC
RUN git clone -b v1.49.1 https://github.com/grpc/grpc.git \
--recurse-submodules --depth 1 --shallow-submodules && \
# Patch Abseil to apply https://github.com/abseil/abseil-cpp/issues/1629
RUN git clone -b v1.65.4 https://github.com/grpc/grpc.git \
--recurse-submodules --depth 1 && \
pushd grpc && \
pushd third_party/abseil-cpp && \
git fetch origin master && \
git cherry-pick -n cfde5f74e276049727f9556f13473a59fe77d9eb && \
popd && \
cmake -S . -B build -GNinja -DCMAKE_INSTALL_PREFIX=/opt/grpc -DCMAKE_CXX_VISIBILITY_PRESET=hidden && \
cmake --build build --target install && \
popd && \
Expand Down
5 changes: 3 additions & 2 deletions tests/ci_build/Dockerfile.gpu
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ARG NCCL_VERSION_ARG

# Environment
ENV DEBIAN_FRONTEND=noninteractive
SHELL ["/bin/bash", "-c"] # Use Bash as shell
SHELL ["/bin/bash", "-c"]

# Install all basic requirements
RUN \
Expand All @@ -22,8 +22,9 @@ ENV PATH=/opt/miniforge/bin:$PATH
# Create new Conda environment with cuDF, Dask, and cuPy
RUN \
export NCCL_SHORT_VER=$(echo "$NCCL_VERSION_ARG" | cut -d "-" -f 1) && \
export CUDA_SHORT_VER=$(echo "$CUDA_VERSION_ARG" | grep -o -E '[0-9]+\.[0-9]') && \
mamba create -y -n gpu_test -c rapidsai -c conda-forge -c nvidia \
python=3.10 cudf=$RAPIDS_VERSION_ARG* rmm=$RAPIDS_VERSION_ARG* cudatoolkit=$CUDA_VERSION_ARG \
python=3.10 cudf=$RAPIDS_VERSION_ARG* rmm=$RAPIDS_VERSION_ARG* cuda-version=$CUDA_SHORT_VER \
"nccl>=${NCCL_SHORT_VER}" \
dask \
dask-cuda=$RAPIDS_VERSION_ARG* dask-cudf=$RAPIDS_VERSION_ARG* cupy \
Expand Down
7 changes: 6 additions & 1 deletion tests/ci_build/Dockerfile.gpu_build_rockylinux8
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,14 @@ RUN git clone -b v${RAPIDS_VERSION_ARG}.00 https://github.com/rapidsai/rmm.git -
rm -rf rmm

# Install gRPC
RUN git clone -b v1.49.1 https://github.com/grpc/grpc.git \
# Patch Abseil to apply https://github.com/abseil/abseil-cpp/issues/1629
RUN git clone -b v1.65.4 https://github.com/grpc/grpc.git \
--recurse-submodules --depth 1 && \
pushd grpc && \
pushd third_party/abseil-cpp && \
git fetch origin master && \
git cherry-pick -n cfde5f74e276049727f9556f13473a59fe77d9eb && \
popd && \
cmake -S . -B build -GNinja -DCMAKE_INSTALL_PREFIX=/opt/grpc -DCMAKE_CXX_VISIBILITY_PRESET=hidden && \
cmake --build build --target install && \
popd && \
Expand Down
3 changes: 2 additions & 1 deletion tests/ci_build/Dockerfile.gpu_dev_ver
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ ENV PATH=/opt/miniforge/bin:$PATH
# Create new Conda environment with dev versions of cuDF, Dask, and cuPy
RUN \
export NCCL_SHORT_VER=$(echo "$NCCL_VERSION_ARG" | cut -d "-" -f 1) && \
export CUDA_SHORT_VER=$(echo "$CUDA_VERSION_ARG" | grep -o -E '[0-9]+\.[0-9]') && \
mamba create -y -n gpu_test -c rapidsai-nightly -c conda-forge -c nvidia \
python=3.10 "cudf=$RAPIDS_VERSION_ARG.*" "rmm=$RAPIDS_VERSION_ARG.*" cudatoolkit=$CUDA_VERSION_ARG \
python=3.10 "cudf=$RAPIDS_VERSION_ARG.*" "rmm=$RAPIDS_VERSION_ARG.*" cuda-version=$CUDA_SHORT_VER \
"nccl>=${NCCL_SHORT_VER}" \
dask \
"dask-cuda=$RAPIDS_VERSION_ARG.*" "dask-cudf=$RAPIDS_VERSION_ARG.*" cupy \
Expand Down
Loading