Skip to content

Commit

Permalink
Branch 24.06 RAPIDS 24.06 (#498)
Browse files Browse the repository at this point in the history
* updates for rapids-24.06

* revert libxml2 version to 2.11.6 to avoid hwloc bug

* update utilities branch

* fix get-pr-info gha action reference

* fix get-pr-info gha action reference

* .

* fix styles
  • Loading branch information
cwharris authored Sep 18, 2024
1 parent cc89f5f commit 160419d
Show file tree
Hide file tree
Showing 20 changed files with 74 additions and 96 deletions.
4 changes: 2 additions & 2 deletions .devcontainer/opt/mrc/bin/post-attach-command.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ sed -ri "s/conda activate base/conda activate $ENV_NAME/g" ~/.bashrc;

if conda_env_find "${ENV_NAME}" ; \

then mamba env update --name ${ENV_NAME} -f ${MRC_ROOT}/conda/environments/all_cuda-121_arch-x86_64.yaml --prune; \
else mamba env create --name ${ENV_NAME} -f ${MRC_ROOT}/conda/environments/all_cuda-121_arch-x86_64.yaml; \
then mamba env update --name ${ENV_NAME} -f ${MRC_ROOT}/conda/environments/all_cuda-125_arch-x86_64.yaml --prune; \
else mamba env create --name ${ENV_NAME} -f ${MRC_ROOT}/conda/environments/all_cuda-125_arch-x86_64.yaml; \
fi
6 changes: 3 additions & 3 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
- prepare
- ci_pipe
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.02
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.10
prepare:
name: Prepare
runs-on: ubuntu-latest
Expand All @@ -58,7 +58,7 @@ jobs:
steps:
- name: Get PR Info
id: get-pr-info
uses: rapidsai/shared-action-workflows/get-pr-info@branch-23.08
uses: nv-gha-runners/get-pr-info@main
if: ${{ startsWith(github.ref_name, 'pull-request/') }}
outputs:
is_pr: ${{ startsWith(github.ref_name, 'pull-request/') }}
Expand All @@ -72,7 +72,7 @@ jobs:
needs: [prepare]
if: ${{ !fromJSON(needs.prepare.outputs.has_skip_ci_label) && fromJSON(needs.prepare.outputs.is_pr )}}
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.02
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.10
with:
enable_check_generated_files: false

Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ option(MRC_USE_CONDA "Enables finding dependencies via conda. All dependencies m
environment" ON)
option(MRC_USE_IWYU "Enable running include-what-you-use as part of the build process" OFF)

set(MRC_RAPIDS_VERSION "24.02" CACHE STRING "Which version of RAPIDS to build for. Sets default versions for RAPIDS CMake and RMM.")
set(MRC_RAPIDS_VERSION "24.06" CACHE STRING "Which version of RAPIDS to build for. Sets default versions for RAPIDS CMake and RMM.")

set(MRC_CACHE_DIR "${CMAKE_SOURCE_DIR}/.cache" CACHE PATH "Directory to contain all CPM and CCache data")
mark_as_advanced(MRC_CACHE_DIR)
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ cd $MRC_ROOT
#### Create MRC Conda environment
```bash
# note: `mamba` may be used in place of `conda` for better performance.
conda env create -n mrc --file $MRC_ROOT/conda/environments/all_cuda-121_arch-x86_64.yaml
conda env create -n mrc --file $MRC_ROOT/conda/environments/all_cuda-125_arch-x86_64.yaml
conda activate mrc
```
#### Build MRC
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@


ARG FROM_IMAGE="rapidsai/ci-conda"
ARG CUDA_VER=12.1.1
ARG CUDA_VER=12.5.1
ARG LINUX_DISTRO=ubuntu
ARG LINUX_VER=22.04
ARG PYTHON_VER=3.10
Expand Down Expand Up @@ -45,13 +45,13 @@ RUN useradd --uid $USER_UID --gid $USER_GID -m $USERNAME && \
echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME && \
chmod 0440 /etc/sudoers.d/$USERNAME

COPY ./conda/environments/all_cuda-121_arch-x86_64.yaml /opt/mrc/conda/environments/all_cuda-121_arch-x86_64.yaml
COPY ./conda/environments/all_cuda-125_arch-x86_64.yaml /opt/mrc/conda/environments/all_cuda-125_arch-x86_64.yaml

RUN --mount=type=cache,target=/opt/conda/pkgs,sharing=locked \
echo "create env: ${PROJ_NAME}" && \
sudo -g conda -u $USERNAME \
CONDA_ALWAYS_YES=true \
/opt/conda/bin/mamba env create -q -n ${PROJ_NAME} --file /opt/mrc/conda/environments/all_cuda-121_arch-x86_64.yaml && \
/opt/conda/bin/mamba env create -q -n ${PROJ_NAME} --file /opt/mrc/conda/environments/all_cuda-125_arch-x86_64.yaml && \
chmod -R a+rwX /opt/conda && \
rm -rf /tmp/conda

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ cd $MRC_ROOT
#### Create MRC Conda Environment
```bash
# note: `mamba` may be used in place of `conda` for better performance.
conda env create -n mrc-dev --file $MRC_ROOT/conda/environments/all_cuda-121_arch-x86_64.yaml
conda env create -n mrc-dev --file $MRC_ROOT/conda/environments/all_cuda-125_arch-x86_64.yaml
conda activate mrc-dev
```
<!-- omit in toc -->
Expand Down
2 changes: 1 addition & 1 deletion ci/conda/recipes/libmrc/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ python:

# Setup the dependencies to build with multiple versions of RAPIDS
rapids_version: # Keep around compatibility with current version -2
- 24.02
- 24.06
6 changes: 3 additions & 3 deletions ci/conda/recipes/libmrc/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ requirements:
- cmake =3.27
- libtool
- ninja =1.11
- numactl-libs-cos7-x86_64
- numactl =2.0.18
- pkg-config =0.29
- sysroot_linux-64 >=2.17
host:
Expand Down Expand Up @@ -80,8 +80,8 @@ outputs:
- {{ compiler("cuda") }}
- {{ compiler("cxx") }}
- cmake =3.27
- numactl-libs-cos7-x86_64
- sysroot_linux-64 =2.17
- numactl =2.0.18
- sysroot_linux-64 >=2.28
host:
# Any libraries with weak run_exports need to go here to be added to the run. Keep sorted!
- boost-cpp =1.84
Expand Down
2 changes: 1 addition & 1 deletion ci/conda/recipes/run_conda_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ fi
# Choose default variants
if hasArg quick; then
# For quick build, just do most recent version of rapids
CONDA_ARGS_ARRAY+=("--variants" "{rapids_version: 24.02}")
CONDA_ARGS_ARRAY+=("--variants" "{rapids_version: 24.06}")
fi

# And default channels (should match dependencies.yaml)
Expand Down
2 changes: 1 addition & 1 deletion ci/scripts/github/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ id
export NUM_PROC=${PARALLEL_LEVEL:-$(nproc)}
export BUILD_CC=${BUILD_CC:-"gcc"}

export CONDA_ENV_YML="${MRC_ROOT}/conda/environments/all_cuda-121_arch-x86_64.yaml"
export CONDA_ENV_YML="${MRC_ROOT}/conda/environments/all_cuda-125_arch-x86_64.yaml"

export CMAKE_BUILD_ALL_FEATURES="-DCMAKE_MESSAGE_CONTEXT_SHOW=ON -DMRC_BUILD_BENCHMARKS=ON -DMRC_BUILD_EXAMPLES=ON -DMRC_BUILD_PYTHON=ON -DMRC_BUILD_TESTS=ON -DMRC_USE_CONDA=ON -DMRC_PYTHON_BUILD_STUBS=ON"
export CMAKE_BUILD_WITH_CODECOV="-DCMAKE_BUILD_TYPE=Debug -DMRC_ENABLE_CODECOV=ON -DMRC_PYTHON_PERFORM_INSTALL:BOOL=ON -DMRC_PYTHON_INPLACE_BUILD:BOOL=ON"
Expand Down
42 changes: 8 additions & 34 deletions cmake/dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,6 @@ morpheus_utils_configure_cccl()
# =================
morpheus_utils_configure_rmm()

# gflags
# ======
rapids_find_package(gflags REQUIRED
GLOBAL_TARGETS gflags
BUILD_EXPORT_SET ${PROJECT_NAME}-exports
INSTALL_EXPORT_SET ${PROJECT_NAME}-exports
)

# glog
# ====
# - link against shared
Expand All @@ -73,9 +65,9 @@ find_path(CUB_INCLUDE_DIRS "cub/cub.cuh"
# =========
rapids_find_package(gRPC REQUIRED
GLOBAL_TARGETS
gRPC::address_sorting gRPC::gpr gRPC::grpc gRPC::grpc_unsecure gRPC::grpc++ gRPC::grpc++_alts gRPC::grpc++_error_details gRPC::grpc++_reflection
gRPC::grpc++_unsecure gRPC::grpc_plugin_support gRPC::grpcpp_channelz gRPC::upb gRPC::grpc_cpp_plugin gRPC::grpc_csharp_plugin gRPC::grpc_node_plugin
gRPC::grpc_objective_c_plugin gRPC::grpc_php_plugin gRPC::grpc_python_plugin gRPC::grpc_ruby_plugin
gRPC::address_sorting gRPC::gpr gRPC::grpc gRPC::grpc_unsecure gRPC::grpc++ gRPC::grpc++_alts gRPC::grpc++_error_details gRPC::grpc++_reflection
gRPC::grpc++_unsecure gRPC::grpc_plugin_support gRPC::grpcpp_channelz gRPC::upb gRPC::grpc_cpp_plugin gRPC::grpc_csharp_plugin gRPC::grpc_node_plugin
gRPC::grpc_objective_c_plugin gRPC::grpc_php_plugin gRPC::grpc_python_plugin gRPC::grpc_ruby_plugin
BUILD_EXPORT_SET ${PROJECT_NAME}-exports
INSTALL_EXPORT_SET ${PROJECT_NAME}-exports
)
Expand All @@ -86,13 +78,7 @@ morpheus_utils_configure_rxcpp()

# JSON
# ======
rapids_find_package(nlohmann_json REQUIRED
GLOBAL_TARGETS nlohmann_json::nlohmann_json
BUILD_EXPORT_SET ${PROJECT_NAME}-exports
INSTALL_EXPORT_SET ${PROJECT_NAME}-exports
FIND_ARGS
CONFIG
)
morpheus_utils_configure_nlohmann_json()

# prometheus
# =========
Expand All @@ -101,27 +87,15 @@ morpheus_utils_configure_prometheus_cpp()
if(MRC_BUILD_BENCHMARKS)
# google benchmark
# ================
rapids_find_package(benchmark REQUIRED
GLOBAL_TARGETS benchmark::benchmark
BUILD_EXPORT_SET ${PROJECT_NAME}-exports

# No install set
FIND_ARGS
CONFIG
)
include(${rapids-cmake-dir}/cpm/gbench.cmake)
rapids_cpm_gbench(BUILD_STATIC)
endif()

if(MRC_BUILD_TESTS)
# google test
# ===========
rapids_find_package(GTest REQUIRED
GLOBAL_TARGETS GTest::gtest GTest::gmock GTest::gtest_main GTest::gmock_main
BUILD_EXPORT_SET ${PROJECT_NAME}-exports

# No install set
FIND_ARGS
CONFIG
)
include(${rapids-cmake-dir}/cpm/gtest.cmake)
rapids_cpm_gtest(BUILD_STATIC)
endif()

list(POP_BACK CMAKE_MESSAGE_CONTEXT)
Original file line number Diff line number Diff line change
Expand Up @@ -16,31 +16,31 @@ dependencies:
- clangxx=16
- cmake=3.27
- codecov=2.1
- cuda-cudart-dev=12.1
- cuda-cudart-dev=12.5
- cuda-nvcc
- cuda-nvml-dev=12.1
- cuda-nvrtc-dev=12.1
- cuda-tools=12.1
- cuda-version=12.1
- cuda-nvml-dev=12.5
- cuda-nvrtc-dev=12.5
- cuda-tools=12.5
- cuda-version=12.5
- cxx-compiler
- doxygen=1.9.2
- flake8
- gcovr=5.2
- gdb
- glog=0.6
- glog>=0.7.1,<0.8
- gtest=1.14
- gxx=11.2
- gxx=12.1
- include-what-you-use=0.20
- libclang-cpp=16
- libclang=16
- libgrpc=1.59
- libgrpc=1.62.2
- libhwloc=2.9.2
- librmm=24.02
- librmm=24.06
- libxml2=2.11.6
- llvmdev=16
- ninja=1.11
- nlohmann_json=3.11
- numactl-libs-cos7-x86_64
- numactl=2.0.18
- numpy=1.24
- pkg-config=0.29
- pre-commit
Expand All @@ -53,4 +53,4 @@ dependencies:
- scikit-build=0.17
- ucx=1.15
- yapf
name: all_cuda-121_arch-x86_64
name: all_cuda-125_arch-x86_64
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,26 @@ dependencies:
- ccache
- cmake=3.27
- codecov=2.1
- cuda-cudart-dev=12.1
- cuda-cudart-dev=12.5
- cuda-nvcc
- cuda-nvml-dev=12.1
- cuda-nvrtc-dev=12.1
- cuda-tools=12.1
- cuda-version=12.1
- cuda-nvml-dev=12.5
- cuda-nvrtc-dev=12.5
- cuda-tools=12.5
- cuda-version=12.5
- cxx-compiler
- doxygen=1.9.2
- gcovr=5.2
- glog=0.6
- glog>=0.7.1,<0.8
- gtest=1.14
- gxx=11.2
- gxx=12.1
- include-what-you-use=0.20
- libgrpc=1.59
- libgrpc=1.62.2
- libhwloc=2.9.2
- librmm=24.02
- librmm=24.06
- libxml2=2.11.6
- ninja=1.11
- nlohmann_json=3.11
- numactl-libs-cos7-x86_64
- numactl=2.0.18
- pkg-config=0.29
- pre-commit
- pybind11-stubgen=0.10
Expand All @@ -41,4 +41,4 @@ dependencies:
- python=3.10
- scikit-build=0.17
- ucx=1.15
name: ci_cuda-121_arch-x86_64
name: ci_cuda-125_arch-x86_64
2 changes: 1 addition & 1 deletion cpp/mrc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -168,14 +168,14 @@ target_link_libraries(libmrc
rmm::rmm
CUDA::cudart
rxcpp::rxcpp
glog::glog
libcudacxx::libcudacxx
Boost::fiber
Boost::context
glog::glog
gRPC::grpc++
gRPC::grpc
gRPC::gpr
nlohmann_json::nlohmann_json
PRIVATE
hwloc::hwloc
prometheus-cpp::core # private in MR !199
Expand Down
1 change: 1 addition & 0 deletions cpp/mrc/include/mrc/core/utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

#include <algorithm>
#include <exception>
#include <functional>
#include <map>
#include <set>
#include <string>
Expand Down
12 changes: 7 additions & 5 deletions cpp/mrc/src/internal/utils/contains.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,15 @@ bool contains(const ContainerT& container, const KeyT& key)
}

template <typename C>
class KeyIterator : public std::iterator<std::bidirectional_iterator_tag,
typename C::key_type,
typename C::difference_type,
typename C::pointer,
typename C::reference>
class KeyIterator
{
public:
using iterator_category = std::bidirectional_iterator_tag; // NOLINT(readability-identifier-naming)
using value_type = C::key_type;
using difference_type = C::difference_type;
using pointer = C::pointer; // NOLINT(readability-identifier-naming)
using reference = C::reference; // NOLINT(readability-identifier-naming)

KeyIterator() = default;
explicit KeyIterator(typename C::const_iterator it) : m_iter(it) {}

Expand Down
26 changes: 13 additions & 13 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ files:
all:
output: conda
matrix:
cuda: ["12.1"]
cuda: ["12.5"]
arch: [x86_64]
includes:
- build
Expand All @@ -21,7 +21,7 @@ files:
ci:
output: conda
matrix:
cuda: ["12.1"]
cuda: ["12.5"]
arch: [x86_64]
includes:
- build
Expand Down Expand Up @@ -55,16 +55,16 @@ dependencies:
- cmake=3.27
- cuda-nvcc
- cxx-compiler
- glog=0.6
- glog>=0.7.1,<0.8
- gtest=1.14
- gxx=11.2
- libgrpc=1.59
- gxx=12.1
- libgrpc=1.62.2
- libhwloc=2.9.2
- librmm=24.02
- librmm=24.06
- libxml2=2.11.6 # 2.12 has a bug preventing round-trip serialization in hwloc
- ninja=1.11
- nlohmann_json=3.11
- numactl-libs-cos7-x86_64
- numactl=2.0.18
- pkg-config=0.29
- pybind11-stubgen=0.10
- scikit-build=0.17
Expand Down Expand Up @@ -144,10 +144,10 @@ dependencies:
- output_types: [conda]
matrices:
- matrix:
cuda: "12.1"
cuda: "12.5"
packages:
- cuda-cudart-dev=12.1
- cuda-nvml-dev=12.1
- cuda-nvrtc-dev=12.1
- cuda-tools=12.1
- cuda-version=12.1
- cuda-cudart-dev=12.5
- cuda-nvml-dev=12.5
- cuda-nvrtc-dev=12.5
- cuda-tools=12.5
- cuda-version=12.5
Loading

0 comments on commit 160419d

Please sign in to comment.