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

Drop Centos7 support #15608

Merged
merged 7 commits into from
May 2, 2024
Merged
Show file tree
Hide file tree
Changes from 4 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
4 changes: 2 additions & 2 deletions .github/workflows/jni-docker-build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2022, NVIDIA CORPORATION.
# Copyright (c) 2022-2024, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -49,5 +49,5 @@ jobs:
uses: docker/build-push-action@v3
with:
push: true
file: java/ci/Dockerfile.centos7
file: java/ci/Dockerfile.rocky
tags: "${{ env.IMAGE_NAME }}:${{ env.IMAGE_REF }}"
8 changes: 4 additions & 4 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

# Copyright (c) 2019-2023, NVIDIA CORPORATION.
# Copyright (c) 2019-2024, NVIDIA CORPORATION.

# cuDF build script

Expand Down Expand Up @@ -109,8 +109,8 @@ function buildAll {
}

function buildLibCudfJniInDocker {
local cudaVersion="11.5.0"
local imageName="cudf-build:${cudaVersion}-devel-centos7"
local cudaVersion="11.8.0"
local imageName="cudf-build:${cudaVersion}-devel-rocky8"
local CMAKE_GENERATOR="${CMAKE_GENERATOR:-Ninja}"
local workspaceDir="/rapids"
local localMavenRepo=${LOCAL_MAVEN_REPO:-"$HOME/.m2/repository"}
Expand All @@ -120,7 +120,7 @@ function buildLibCudfJniInDocker {
mkdir -p "$CUDF_JAR_JAVA_BUILD_DIR/libcudf-cmake-build"
mkdir -p "$HOME/.ccache" "$HOME/.m2"
nvidia-docker build \
-f java/ci/Dockerfile.centos7 \
-f java/ci/Dockerfile.rocky \
--build-arg CUDA_VERSION=${cudaVersion} \
-t $imageName .
nvidia-docker run -it -u $(id -u):$(id -g) --rm \
Expand Down
56 changes: 0 additions & 56 deletions java/ci/Dockerfile.centos7

This file was deleted.

62 changes: 62 additions & 0 deletions java/ci/Dockerfile.rocky
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#
# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

###
# Build the image for cudf development environment.
#
# Arguments: CUDA_VERSION=[11.X.Y, 12.X.Y], OS_RELEASE=[8, 9], TARGETPLATFORM=[linux/amd64, linux/amd64]
#
###
ARG CUDA_VERSION=11.8.0
ARG OS_RELEASE=8
ARG TARGETPLATFORM=linux/amd64
# multi-platform build with: docker buildx build --platform linux/arm64,linux/amd64 <ARGS> on either amd64 or arm64 host
# check available offcial arm-based docker images at https://hub.docker.com/r/nvidia/cuda/tags (OS/ARCH)
FROM --platform=$TARGETPLATFORM nvidia/cuda:$CUDA_VERSION-devel-rockylinux$OS_RELEASE
ARG TOOLSET_VERSION=11
### Install basic requirements
RUN dnf --enablerepo=powertools install -y scl-utils gcc-toolset-${TOOLSET_VERSION} git zlib-devel maven tar wget patch ninja-build
## pre-create the CMAKE_INSTALL_PREFIX folder, set writable by any user for Jenkins
RUN mkdir /usr/local/rapids /rapids && chmod 777 /usr/local/rapids /rapids

# 3.22.3+: CUDA architecture 'native' support + flexible CMAKE_<LANG>_*_LAUNCHER for ccache
ARG CMAKE_VERSION=3.26.4
# default x86_64 from x86 build, aarch64 cmake for arm build
ARG CMAKE_ARCH=x86_64
RUN cd /usr/local && wget --quiet https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.tar.gz && \
tar zxf cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.tar.gz && \
rm cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.tar.gz
ENV PATH /usr/local/cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}/bin:$PATH

# ccache for interactive builds
ARG CCACHE_VERSION=4.6
RUN cd /tmp && wget --quiet https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz && \
tar zxf ccache-${CCACHE_VERSION}.tar.gz && \
rm ccache-${CCACHE_VERSION}.tar.gz && \
cd ccache-${CCACHE_VERSION} && \
mkdir build && \
cd build && \
scl enable gcc-toolset-${TOOLSET_VERSION} \
"cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DZSTD_FROM_INTERNET=ON \
-DREDIS_STORAGE_BACKEND=OFF && \
cmake --build . --parallel 4 --target install" && \
cd ../.. && \
rm -rf ccache-${CCACHE_VERSION}

# disable cuda container constraints to allow running w/ elder drivers on data-center GPUs
NvTimLiu marked this conversation as resolved.
Show resolved Hide resolved
ENV NVIDIA_DISABLE_REQUIRE="true"
8 changes: 4 additions & 4 deletions java/ci/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,22 @@

In the root path of cuDF repo, run below command to build the docker image.
```bash
docker build -f java/ci/Dockerfile.centos7 --build-arg CUDA_VERSION=11.8.0 -t cudf-build:11.8.0-devel-centos7 .
docker build -f java/ci/Dockerfile.rocky --build-arg CUDA_VERSION=11.8.0 -t cudf-build:11.8.0-devel-rocky8 .
```

The following CUDA versions are supported w/ CUDA Enhanced Compatibility:
* CUDA 11.0+

Change the --build-arg CUDA_VERSION to what you need.
You can replace the tag "cudf-build:11.8.0-devel-centos7" with another name you like.
You can replace the tag "cudf-build:11.8.0-devel-rocky8" with another name you like.

## Start the docker then build

### Start the docker

Run below command to start a docker container with GPU.
```bash
nvidia-docker run -it cudf-build:11.8.0-devel-centos7 bash
nvidia-docker run -it cudf-build:11.8.0-devel-rocky8 bash
```

### Download the cuDF source code
Expand All @@ -42,7 +42,7 @@ git clone --recursive https://github.com/rapidsai/cudf.git -b branch-24.06
```bash
cd cudf
export WORKSPACE=`pwd`
scl enable devtoolset-11 "java/ci/build-in-docker.sh"
scl enable gcc-toolset-11 "java/ci/build-in-docker.sh"
```

### The output
Expand Down
Loading