diff --git a/.clang-tidy b/.clang-tidy index d7a7da71e..edef98736 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -20,7 +20,11 @@ Checks: > -modernize-macro-to-enum, google-readability-todo -#WarningsAsErrors: '*' +WarningsAsErrors: > + *, + -clang-diagnostic-unused-command-line-argument, + -clang-diagnostic-ignored-optimization-argument + HeaderFilterRegex: '.*\/include\/mrc\/.*' AnalyzeTemporaryDtors: false FormatStyle: file diff --git a/.devcontainer/conda/Dockerfile b/.devcontainer/conda/Dockerfile index d1ffbce77..62c801dd2 100644 --- a/.devcontainer/conda/Dockerfile +++ b/.devcontainer/conda/Dockerfile @@ -13,6 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM rapidsai/devcontainers:23.04-cuda11.8-mambaforge-ubuntu22.04 AS base +FROM rapidsai/devcontainers:23.04-cuda12.1-mambaforge-ubuntu22.04 AS base ENV PATH="${PATH}:/workspaces/mrc/.devcontainer/bin" diff --git a/.devcontainer/opt/mrc/bin/post-attach-command.sh b/.devcontainer/opt/mrc/bin/post-attach-command.sh index ed0ede1eb..e86c3a259 100755 --- a/.devcontainer/opt/mrc/bin/post-attach-command.sh +++ b/.devcontainer/opt/mrc/bin/post-attach-command.sh @@ -1,5 +1,5 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -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-118_arch-x86_64.yaml --prune; \ -else mamba env create --name ${ENV_NAME} -f ${MRC_ROOT}/conda/environments/all_cuda-118_arch-x86_64.yaml; \ +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; \ fi diff --git a/.devcontainer/opt/mrc/conda/Dockerfile b/.devcontainer/opt/mrc/conda/Dockerfile index d1ffbce77..62c801dd2 100644 --- a/.devcontainer/opt/mrc/conda/Dockerfile +++ b/.devcontainer/opt/mrc/conda/Dockerfile @@ -13,6 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM rapidsai/devcontainers:23.04-cuda11.8-mambaforge-ubuntu22.04 AS base +FROM rapidsai/devcontainers:23.04-cuda12.1-mambaforge-ubuntu22.04 AS base ENV PATH="${PATH}:/workspaces/mrc/.devcontainer/bin" diff --git a/CMakeLists.txt b/CMakeLists.txt index 36f2ba647..c3dd8cede 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2018-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -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 "23.06" CACHE STRING "Which version of RAPIDS to build for. Sets default versions for RAPIDS CMake and RMM.") +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_CACHE_DIR "${CMAKE_SOURCE_DIR}/.cache" CACHE PATH "Directory to contain all CPM and CCache data") mark_as_advanced(MRC_CACHE_DIR) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4972d8d62..6f64ff959 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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-118_arch-x86_64.yaml +conda env create -n mrc --file $MRC_ROOT/conda/environments/all_cuda-121_arch-x86_64.yaml conda activate mrc ``` #### Build MRC diff --git a/Dockerfile b/Dockerfile index c929f9552..989d5a1c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,13 +17,13 @@ ARG FROM_IMAGE="rapidsai/ci-conda" -ARG CUDA_VER=11.8.0 +ARG CUDA_VER=12.1.1 ARG LINUX_DISTRO=ubuntu -ARG LINUX_VER=20.04 +ARG LINUX_VER=22.04 ARG PYTHON_VER=3.10 # ============= base =================== -FROM ${FROM_IMAGE}:cuda11.8.0-ubuntu20.04-py3.10 AS base +FROM ${FROM_IMAGE}:cuda${CUDA_VER}-${LINUX_DISTRO}${LINUX_VER}-py${PYTHON_VER} AS base ARG PROJ_NAME=mrc ARG USERNAME=morpheus @@ -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-118_arch-x86_64.yaml /opt/mrc/conda/environments/all_cuda-118_arch-x86_64.yaml +COPY ./conda/environments/all_cuda-121_arch-x86_64.yaml /opt/mrc/conda/environments/all_cuda-121_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-118_arch-x86_64.yaml && \ + /opt/conda/bin/mamba env create -q -n ${PROJ_NAME} --file /opt/mrc/conda/environments/all_cuda-121_arch-x86_64.yaml && \ chmod -R a+rwX /opt/conda && \ rm -rf /tmp/conda diff --git a/README.md b/README.md index 1da4b6f50..92962cad5 100644 --- a/README.md +++ b/README.md @@ -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-118_arch-x86_64.yaml +conda env create -n mrc-dev --file $MRC_ROOT/conda/environments/all_cuda-121_arch-x86_64.yaml conda activate mrc-dev ``` diff --git a/ci/conda/recipes/libmrc/build.sh b/ci/conda/recipes/libmrc/build.sh index 3bdbf295f..3b9a469e8 100644 --- a/ci/conda/recipes/libmrc/build.sh +++ b/ci/conda/recipes/libmrc/build.sh @@ -62,7 +62,6 @@ CMAKE_ARGS="-DMRC_RAPIDS_VERSION=${rapids_version} ${CMAKE_ARGS}" CMAKE_ARGS="-DMRC_USE_CCACHE=OFF ${CMAKE_ARGS}" CMAKE_ARGS="-DMRC_USE_CONDA=ON ${CMAKE_ARGS}" CMAKE_ARGS="-DPython_EXECUTABLE=${PYTHON} ${CMAKE_ARGS}" -CMAKE_ARGS="-DUCX_VERSION=${ucx} ${CMAKE_ARGS}" echo "CC : ${CC}" echo "CXX : ${CXX}" diff --git a/ci/conda/recipes/libmrc/conda_build_config.yaml b/ci/conda/recipes/libmrc/conda_build_config.yaml index e674d6b6d..f16cfda2d 100644 --- a/ci/conda/recipes/libmrc/conda_build_config.yaml +++ b/ci/conda/recipes/libmrc/conda_build_config.yaml @@ -23,62 +23,11 @@ cuda_compiler: - cuda-nvcc cuda_compiler_version: - - 11.8 + - 12.1 python: - - 3.8 - - 3.10 - 3.10 # Setup the dependencies to build with multiple versions of RAPIDS rapids_version: # Keep around compatibility with current version -2 - - 23.02 - - 23.04 - - 23.06 - -# Multiple versions of abseil are required to satisfy the solver for some -# environments. RAPIDS 22.06 only works with gRPC 1.45 and 22.08 only works with -# 1.46. For each version of gRPC, support 2 abseil versions. Zip all of the keys -# together to avoid impossible combinations -libabseil: - - 20230125.0 - - 20230125.0 - - 20230125.0 - -libgrpc: - - 1.51 - - 1.51 - - 1.54 - -ucx: - - 1.13 - - 1.14 - - 1.14 - -libprotobuf: - - 3.21 - - 3.21 - - 3.21 - -zip_keys: - - python - - rapids_version - - libabseil - - libgrpc - - ucx - - libprotobuf - -# The following mimic what is available in the pinning feedstock: -# https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml -boost: - - 1.82 -boost_cpp: - - 1.82 -gflags: - - 2.2 -glog: - - 0.6 - -pin_run_as_build: - boost-cpp: - max_pin: x.x + - 24.02 diff --git a/ci/conda/recipes/libmrc/meta.yaml b/ci/conda/recipes/libmrc/meta.yaml index 68ec16ecd..fe402a7f0 100644 --- a/ci/conda/recipes/libmrc/meta.yaml +++ b/ci/conda/recipes/libmrc/meta.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,10 +14,8 @@ # limitations under the License. {% set version = environ.get('GIT_VERSION', '0.0.0.dev').lstrip('v') + environ.get('VERSION_SUFFIX', '') %} -{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %} {% set py_version = environ.get('CONDA_PY', '3.10') %} -{% set cuda_version = '.'.join(environ.get('CUDA', '11.8').split('.')[:2]) %} -{% set cuda_major = cuda_version.split('.')[0] %} +{% set cuda_version = '.'.join(environ.get('CUDA', '12.1').split('.')[:2]) %} package: name: libmrc-split @@ -40,39 +38,32 @@ requirements: - {{ compiler("c") }} - {{ compiler("cuda") }} - {{ compiler("cxx") }} - - autoconf >=2.69 - ccache - - cmake >=3.24 - - cuda-cudart-dev # Needed by CMake to compile a test application + - cmake =3.27 - libtool - - ninja + - ninja =1.11 - numactl-libs-cos7-x86_64 - - pkg-config 0.29.* + - pkg-config =0.29 - sysroot_linux-64 >=2.17 host: # Libraries necessary to build. Keep sorted! - - boost-cpp - - cuda-cudart-dev - - cuda-nvml-dev - - doxygen 1.9.2.* - - flatbuffers 2.0.* - - gflags - - glog - - gmock 1.13.* - - libgrpc - - gtest 1.13.* - - libabseil - - libhwloc 2.9.2 - - libprotobuf + - boost-cpp =1.84 + - cuda-cudart-dev {{ cuda_version }}.* + - cuda-nvml-dev {{ cuda_version }}.* + - cuda-nvrtc-dev {{ cuda_version }}.* + - cuda-version {{ cuda_version }}.* + - doxygen 1.10.0 + - glog =0.6 + - libgrpc =1.59 + - gtest =1.14 + - libhwloc =2.9.2 - librmm {{ rapids_version }} - - nlohmann_json 3.9.1 + - nlohmann_json =3.9 - pybind11-abi # See: https://conda-forge.org/docs/maintainer/knowledge_base.html#pybind11-abi-constraints - - pybind11-stubgen 0.10 + - pybind11-stubgen =0.10 - python {{ python }} - - scikit-build >=0.17 - - ucx - # Need to specify cudatoolkit to get correct version. Remove once all libraries migrate to cuda-toolkit - - cudatoolkit {{ cuda_version }}.* + - scikit-build =0.17 + - ucx =1.15 outputs: - name: libmrc @@ -88,32 +79,26 @@ outputs: - {{ compiler("c") }} - {{ compiler("cuda") }} - {{ compiler("cxx") }} - - cmake >=3.24 + - cmake =3.27 - numactl-libs-cos7-x86_64 - - sysroot_linux-64 2.17 + - sysroot_linux-64 =2.17 host: # Any libraries with weak run_exports need to go here to be added to the run. Keep sorted! - - boost-cpp - - cuda-cudart # Needed to allow pin_compatible to work - - glog - - libgrpc - - libabseil # Needed for transitive run_exports from libgrpc. Does not need a version - - libhwloc 2.9.2 - - libprotobuf # Needed for transitive run_exports from libgrpc. Does not need a version + - boost-cpp =1.84 + - cuda-version # Needed to allow pin_compatible to work + - glog =0.6 + - libgrpc =1.59 + - libhwloc =2.9.2 - librmm {{ rapids_version }} - - nlohmann_json 3.9.* - - ucx - # Need to specify cudatoolkit to get correct version. Remove once all libraries migrate to cuda-toolkit - - cudatoolkit {{ cuda_version }}.* + - nlohmann_json =3.9 + - ucx =1.15 run: # Manually add any packages necessary for run that do not have run_exports. Keep sorted! - - {{ pin_compatible('cuda-cudart', min_pin='x.x', max_pin='x') }} - - {{ pin_compatible('nlohmann_json', max_pin='x.x')}} - - {{ pin_compatible('ucx', max_pin='x.x')}} - - boost-cpp # Needed to use pin_run_as_build - run_constrained: - # Since we dont explicitly require this but other packages might, constrain the versions - - {{ pin_compatible('cudatoolkit', min_pin='x.x', max_pin='x') }} + - cuda-version {{ cuda_version }}.* + - nlohmann_json =3.9 + - ucx =1.15 + - cuda-cudart + - boost-cpp =1.84 test: script: test_libmrc.sh files: diff --git a/ci/conda/recipes/run_conda_build.sh b/ci/conda/recipes/run_conda_build.sh index bbdc3ed2e..0e624c0e7 100755 --- a/ci/conda/recipes/run_conda_build.sh +++ b/ci/conda/recipes/run_conda_build.sh @@ -95,11 +95,12 @@ fi # Choose default variants if hasArg quick; then # For quick build, just do most recent version of rapids - CONDA_ARGS_ARRAY+=("--variants" "{rapids_version: 23.06}") + CONDA_ARGS_ARRAY+=("--variants" "{rapids_version: 24.02}") fi +CONDA_ARGS_ARRAY+=("--keep-old-work") # And default channels -CONDA_ARGS_ARRAY+=("-c" "rapidsai" "-c" "nvidia/label/cuda-11.8.0" "-c" "nvidia" "-c" "conda-forge" "-c" "main") +CONDA_ARGS_ARRAY+=("-c" "conda-forge" "-c" "rapidsai-nightly" "-c" "nvidia") # Set GIT_VERSION to set the project version inside of meta.yaml export GIT_VERSION="$(get_version)" diff --git a/ci/scripts/github/common.sh b/ci/scripts/github/common.sh index e67dc7a35..7664964b8 100644 --- a/ci/scripts/github/common.sh +++ b/ci/scripts/github/common.sh @@ -1,5 +1,5 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -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-118_arch-x86_64.yaml" +export CONDA_ENV_YML="${MRC_ROOT}/conda/environments/all_cuda-121_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" diff --git a/ci/scripts/run_ci_local.sh b/ci/scripts/run_ci_local.sh index bae506ccf..0e1d694ce 100755 --- a/ci/scripts/run_ci_local.sh +++ b/ci/scripts/run_ci_local.sh @@ -1,5 +1,5 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -58,8 +58,8 @@ GIT_BRANCH=$(git branch --show-current) GIT_COMMIT=$(git log -n 1 --pretty=format:%H) BASE_LOCAL_CI_TMP=${BASE_LOCAL_CI_TMP:-${MRC_ROOT}/.tmp/local_ci_tmp} -CONTAINER_VER=${CONTAINER_VER:-230920} -CUDA_VER=${CUDA_VER:-11.8} +CONTAINER_VER=${CONTAINER_VER:-240119} +CUDA_VER=${CUDA_VER:-12.1} DOCKER_EXTRA_ARGS=${DOCKER_EXTRA_ARGS:-""} BUILD_CONTAINER="nvcr.io/ea-nvidia-morpheus/morpheus:mrc-ci-build-${CONTAINER_VER}" diff --git a/ci/scripts/run_clang_tidy_for_ci.sh b/ci/scripts/run_clang_tidy_for_ci.sh index 54191c68b..b0a7dc2c1 100755 --- a/ci/scripts/run_clang_tidy_for_ci.sh +++ b/ci/scripts/run_clang_tidy_for_ci.sh @@ -1,5 +1,5 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2021-2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2021-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,11 +16,7 @@ # set -x -# Call clang-tidy adding warnings-as-errors option. Currently this is not -# possible with clang-tidy-diff.py until this is merged: -# https://reviews.llvm.org/D49864 - # Also add -fno-caret-diagnostics to prevent clangs own compiler warnings from # coming through: # https://github.com/llvm/llvm-project/blob/3f3faa36ff3d84af3c3ed84772d7e4278bc44ff1/libc/cmake/modules/LLVMLibCObjectRules.cmake#L226 -${CLANG_TIDY:-clang-tidy} --warnings-as-errors='*' --extra-arg=-fno-caret-diagnostics "$@" +${CLANG_TIDY:-clang-tidy} --extra-arg=-fno-caret-diagnostics "$@" diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-121_arch-x86_64.yaml similarity index 63% rename from conda/environments/all_cuda-118_arch-x86_64.yaml rename to conda/environments/all_cuda-121_arch-x86_64.yaml index 47efa30b9..8886b31b5 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-121_arch-x86_64.yaml @@ -3,55 +3,55 @@ channels: - conda-forge - rapidsai -- nvidia/label/cuda-11.8.0 +- nvidia/label/cuda-12.1.1 - nvidia - rapidsai-nightly dependencies: - bash-completion -- benchmark=1.6.0 -- boost-cpp=1.82 +- benchmark=1.8.3 +- boost-cpp=1.84 - ccache - clang-tools=16 - clang=16 - clangdev=16 - clangxx=16 -- cmake=3.25 +- cmake=3.27 - codecov=2.1 -- cuda-cudart-dev=11.8 +- cuda-cudart-dev=12.1 - cuda-nvcc -- cuda-nvml-dev=11.8 -- cuda-nvrtc-dev=11.8 -- cuda-python=11.8.2 -- cuda-tools=11.8 -- cuda-version=11.8 +- cuda-nvml-dev=12.1 +- cuda-nvrtc-dev=12.1 +- cuda-tools=12.1 +- cuda-version=12.1 - cxx-compiler -- doxygen=1.9.2 +- doxygen=1.10.0 - flake8 -- gcovr=5.0 +- gcovr=5.2 - gdb - glog=0.6 -- graphviz=3.0 -- gtest=1.13 +- gtest=1.14 - gxx=11.2 - include-what-you-use=0.20 - libclang-cpp=16 - libclang=16 -- libgrpc=1.54.0 +- libgrpc=1.59 - libhwloc=2.9.2 -- librmm=23.06 +- librmm=24.02 +- libxml2=2.11.6 - llvmdev=16 -- ninja=1.10 +- ninja=1.11 - nlohmann_json=3.9 - numactl-libs-cos7-x86_64 -- numpy>=1.21 +- numpy=1.24 - pkg-config=0.29 - pre-commit - pybind11-stubgen=0.10 - pytest - pytest-asyncio - pytest-timeout +- python-graphviz - python=3.10 -- scikit-build>=0.17 -- ucx=1.14 +- scikit-build=0.17 +- ucx=1.15 - yapf -name: all_cuda-118_arch-x86_64 +name: all_cuda-121_arch-x86_64 diff --git a/conda/environments/ci_cuda-118_arch-x86_64.yaml b/conda/environments/ci_cuda-121_arch-x86_64.yaml similarity index 58% rename from conda/environments/ci_cuda-118_arch-x86_64.yaml rename to conda/environments/ci_cuda-121_arch-x86_64.yaml index 4935bb82e..b440b8fa9 100644 --- a/conda/environments/ci_cuda-118_arch-x86_64.yaml +++ b/conda/environments/ci_cuda-121_arch-x86_64.yaml @@ -3,34 +3,33 @@ channels: - conda-forge - rapidsai -- nvidia/label/cuda-11.8.0 +- nvidia/label/cuda-12.1.1 - nvidia - rapidsai-nightly dependencies: -- benchmark=1.6.0 -- boost-cpp=1.82 +- benchmark=1.8.3 +- boost-cpp=1.84 - ccache -- cmake=3.25 +- cmake=3.27 - codecov=2.1 -- cuda-cudart-dev=11.8 +- cuda-cudart-dev=12.1 - cuda-nvcc -- cuda-nvml-dev=11.8 -- cuda-nvrtc-dev=11.8 -- cuda-python=11.8.2 -- cuda-tools=11.8 -- cuda-version=11.8 +- cuda-nvml-dev=12.1 +- cuda-nvrtc-dev=12.1 +- cuda-tools=12.1 +- cuda-version=12.1 - cxx-compiler -- doxygen=1.9.2 -- gcovr=5.0 +- doxygen=1.10.0 +- gcovr=5.2 - glog=0.6 -- graphviz=3.0 -- gtest=1.13 +- gtest=1.14 - gxx=11.2 - include-what-you-use=0.20 -- libgrpc=1.54.0 +- libgrpc=1.59 - libhwloc=2.9.2 -- librmm=23.06 -- ninja=1.10 +- librmm=24.02 +- libxml2=2.11.6 +- ninja=1.11 - nlohmann_json=3.9 - numactl-libs-cos7-x86_64 - pkg-config=0.29 @@ -39,7 +38,8 @@ dependencies: - pytest - pytest-asyncio - pytest-timeout +- python-graphviz - python=3.10 -- scikit-build>=0.17 -- ucx=1.14 -name: ci_cuda-118_arch-x86_64 +- scikit-build=0.17 +- ucx=1.15 +name: ci_cuda-121_arch-x86_64 diff --git a/cpp/mrc/benchmarks/bench_baselines.cpp b/cpp/mrc/benchmarks/bench_baselines.cpp index a57fff83f..c40a9a78c 100644 --- a/cpp/mrc/benchmarks/bench_baselines.cpp +++ b/cpp/mrc/benchmarks/bench_baselines.cpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -27,7 +27,6 @@ #include #include #include -#include #include #include diff --git a/cpp/mrc/benchmarks/bench_coroutines.cpp b/cpp/mrc/benchmarks/bench_coroutines.cpp index 443806ccc..b6f1b22ed 100644 --- a/cpp/mrc/benchmarks/bench_coroutines.cpp +++ b/cpp/mrc/benchmarks/bench_coroutines.cpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -24,6 +24,7 @@ #include #include +#include #include #include diff --git a/cpp/mrc/benchmarks/bench_fibers.cpp b/cpp/mrc/benchmarks/bench_fibers.cpp index bd75ae526..09b176ab1 100644 --- a/cpp/mrc/benchmarks/bench_fibers.cpp +++ b/cpp/mrc/benchmarks/bench_fibers.cpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,6 +21,8 @@ #include #include +#include + static void boost_fibers_create_single_task_and_sync_post(benchmark::State& state) { // warmup diff --git a/cpp/mrc/benchmarks/bench_segment.cpp b/cpp/mrc/benchmarks/bench_segment.cpp index 2ddeed4e2..75c1e1ea1 100644 --- a/cpp/mrc/benchmarks/bench_segment.cpp +++ b/cpp/mrc/benchmarks/bench_segment.cpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,9 +18,6 @@ #include "mrc/benchmarking/segment_watcher.hpp" #include "mrc/benchmarking/tracer.hpp" #include "mrc/benchmarking/util.hpp" -#include "mrc/node/rx_node.hpp" -#include "mrc/node/rx_sink.hpp" -#include "mrc/node/rx_source.hpp" #include "mrc/pipeline/executor.hpp" #include "mrc/pipeline/pipeline.hpp" #include "mrc/segment/builder.hpp" // IWYU pragma: keep @@ -33,7 +30,6 @@ #include #include #include -#include #include #include #include diff --git a/cpp/mrc/include/mrc/memory/resources/detail/arena.hpp b/cpp/mrc/include/mrc/memory/resources/detail/arena.hpp index e25631606..b514fb5c5 100644 --- a/cpp/mrc/include/mrc/memory/resources/detail/arena.hpp +++ b/cpp/mrc/include/mrc/memory/resources/detail/arena.hpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2019-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2019-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -169,7 +169,7 @@ inline bool block_size_compare(block lhs, block rhs) */ constexpr std::size_t align_up(std::size_t value) noexcept { - return rmm::detail::align_up(value, rmm::detail::CUDA_ALLOCATION_ALIGNMENT); + return rmm::align_up(value, rmm::CUDA_ALLOCATION_ALIGNMENT); } /** @@ -180,7 +180,7 @@ constexpr std::size_t align_up(std::size_t value) noexcept */ constexpr std::size_t align_down(std::size_t value) noexcept { - return rmm::detail::align_down(value, rmm::detail::CUDA_ALLOCATION_ALIGNMENT); + return rmm::align_down(value, rmm::CUDA_ALLOCATION_ALIGNMENT); } /** diff --git a/cpp/mrc/tests/test_mrc.hpp b/cpp/mrc/tests/test_mrc.hpp index e8971c3c5..79143c444 100644 --- a/cpp/mrc/tests/test_mrc.hpp +++ b/cpp/mrc/tests/test_mrc.hpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2018-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2018-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -130,7 +130,7 @@ class ParallelTester /** * @brief Method to call at the parallelization test point by all threads. Can be used in gtest with - * `EXPECT_TRUE(parallel_test.wait_for(100ms));` to fail if parallelization isnt met + * `EXPECT_TRUE(parallel_test.wait_for(250ms));` to fail if parallelization isnt met * * @tparam RepT Duration Rep type * @tparam PeriodT Duration Period type diff --git a/cpp/mrc/tests/test_node.cpp b/cpp/mrc/tests/test_node.cpp index 8305fc79d..34ea01a85 100644 --- a/cpp/mrc/tests/test_node.cpp +++ b/cpp/mrc/tests/test_node.cpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -572,7 +572,7 @@ TEST_P(ParallelTests, SourceMultiThread) } DVLOG(1) << context.info() << " Enqueueing value: '" << i << "'" << std::endl; - ASSERT_TRUE(parallel_test.wait_for(100ms)); + ASSERT_TRUE(parallel_test.wait_for(250ms)); s.on_next(i); } @@ -672,7 +672,7 @@ TEST_P(ParallelTests, SinkMultiThread) // Print value DVLOG(1) << context.info() << " Sink got value: '" << x << "'" << std::endl; - EXPECT_TRUE(parallel_test.wait_for(100ms)); + EXPECT_TRUE(parallel_test.wait_for(250ms)); ++next_count; }, @@ -744,7 +744,7 @@ TEST_P(ParallelTests, NodeMultiThread) DVLOG(1) << context.info() << " Node got value: '" << x << "'" << std::endl; - EXPECT_TRUE(parallel_test.wait_for(100ms)); + EXPECT_TRUE(parallel_test.wait_for(250ms)); // Double the value return x * 2; })); diff --git a/dependencies.yaml b/dependencies.yaml index cc46ca5fb..e3ee608fc 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -3,7 +3,7 @@ files: all: output: conda matrix: - cuda: ["11.8"] + cuda: ["12.1"] arch: [x86_64] includes: - build @@ -15,12 +15,13 @@ files: - ci - examples - documentation + - python - cudatoolkit ci: output: conda matrix: - cuda: ["11.8"] + cuda: ["12.1"] arch: [x86_64] includes: - build @@ -29,6 +30,7 @@ files: - benchmarking - ci - documentation + - python - cudatoolkit checks: @@ -40,7 +42,7 @@ files: channels: - conda-forge - rapidsai - - nvidia/label/cuda-11.8.0 + - nvidia/label/cuda-12.1.1 - nvidia - rapidsai-nightly @@ -50,25 +52,25 @@ dependencies: common: - output_types: [conda] packages: - - boost-cpp=1.82 + - boost-cpp=1.84 - ccache - - cmake=3.25 + - cmake=3.27 - cuda-nvcc - cxx-compiler - glog=0.6 - - gtest=1.13 + - gtest=1.14 - gxx=11.2 - - libgrpc=1.54.0 + - libgrpc=1.59 - libhwloc=2.9.2 - - librmm=23.06 - - ninja=1.10 + - librmm=24.02 + - libxml2=2.11.6 # 2.12 has a bug preventing round-trip serialization in hwloc + - ninja=1.11 - nlohmann_json=3.9 - numactl-libs-cos7-x86_64 - pkg-config=0.29 - pybind11-stubgen=0.10 - - python=3.10 - - scikit-build>=0.17 - - ucx=1.14 + - scikit-build=0.17 + - ucx=1.15 checks: common: @@ -103,46 +105,51 @@ dependencies: - output_types: [conda] packages: - pytest - - pytest-timeout - pytest-asyncio + - pytest-timeout benchmarking: common: - output_types: [conda] packages: - - benchmark=1.6.0 + - benchmark=1.8.3 ci: common: - output_types: [conda] packages: - codecov=2.1 - - gcovr=5.0 + - gcovr=5.2 - pre-commit examples: common: - output_types: [conda] packages: - - numpy>=1.21 + - numpy=1.24 documentation: common: - output_types: [conda] packages: - - doxygen=1.9.2 - - graphviz=3.0 + - doxygen=1.10.0 + - python-graphviz + + python: + common: + - output_types: [conda] + packages: + - python=3.10 cudatoolkit: specific: - output_types: [conda] matrices: - matrix: - cuda: "11.8" + cuda: "12.1" packages: - - cuda-cudart-dev=11.8 - - cuda-nvml-dev=11.8 - - cuda-nvrtc-dev=11.8 - - cuda-python=11.8.2 - - cuda-tools=11.8 - - cuda-version=11.8 + - cuda-cudart-dev=12.1 + - cuda-nvml-dev=12.1 + - cuda-nvrtc-dev=12.1 + - cuda-tools=12.1 + - cuda-version=12.1 diff --git a/external/utilities b/external/utilities index 38eff9a0e..eb55e1acb 160000 --- a/external/utilities +++ b/external/utilities @@ -1 +1 @@ -Subproject commit 38eff9a0ef89031407735fd9ca60b0763b3767ad +Subproject commit eb55e1acb73df1dbf4c1b69f17c918c661921c3c diff --git a/python/mrc/core/subscriber.cpp b/python/mrc/core/subscriber.cpp index 0a9458f9f..d435c4edf 100644 --- a/python/mrc/core/subscriber.cpp +++ b/python/mrc/core/subscriber.cpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,7 +25,7 @@ #include #include // IWYU pragma: keep -#include // IWYU pragma: keep(for call_guard) +#include // IWYU pragma: keep #include #include