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

[RELEASE] MRC v24.10.00 #507

Open
wants to merge 16 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
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
2 changes: 1 addition & 1 deletion .devcontainer/conda/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

FROM rapidsai/devcontainers:23.04-cuda12.1-mambaforge-ubuntu22.04 AS base
FROM rapidsai/devcontainers:24.12-cuda12.1-mambaforge-ubuntu22.04 AS base

ENV PATH="${PATH}:/workspaces/mrc/.devcontainer/bin"
2 changes: 1 addition & 1 deletion .devcontainer/conda/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"MRC_ROOT": "${containerWorkspaceFolder}",
"DEFAULT_CONDA_ENV": "mrc",
"MAMBA_NO_BANNER": "1",
"VAULT_HOST": "https://vault.ops.k8s.rapids.ai"
"AWS_ROLE_ARN": "arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs"
},
"initializeCommand": [ "${localWorkspaceFolder}/.devcontainer/conda/initialize-command.sh" ],
"remoteUser": "coder",
Expand Down
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
2 changes: 1 addition & 1 deletion .devcontainer/opt/mrc/conda/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

FROM rapidsai/devcontainers:23.04-cuda12.1-mambaforge-ubuntu22.04 AS base
FROM rapidsai/devcontainers:24.12-cuda12.1-mambaforge-ubuntu22.04 AS base

ENV PATH="${PATH}:/workspaces/mrc/.devcontainer/bin"
2 changes: 1 addition & 1 deletion .devcontainer/opt/mrc/conda/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"MRC_ROOT": "${containerWorkspaceFolder}",
"DEFAULT_CONDA_ENV": "mrc",
"MAMBA_NO_BANNER": "1",
"VAULT_HOST": "https://vault.ops.k8s.rapids.ai"
"AWS_ROLE_ARN": "arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs"
},
"initializeCommand": [ "${localWorkspaceFolder}/.devcontainer/initialize-command.sh" ],
"remoteUser": "coder",
Expand Down
10 changes: 5 additions & 5 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 All @@ -89,9 +89,9 @@ jobs:
# Update conda package only for non PR branches. Use 'main' for main branch and 'dev' for all other branches
conda_upload_label: ${{ !fromJSON(needs.prepare.outputs.is_pr) && (fromJSON(needs.prepare.outputs.is_main_branch) && 'main' || 'dev') || '' }}
# Build container
container: nvcr.io/ea-nvidia-morpheus/morpheus:mrc-ci-build-240214
container: nvcr.io/ea-nvidia-morpheus/morpheus:mrc-ci-build-241002
# Test container
test_container: nvcr.io/ea-nvidia-morpheus/morpheus:mrc-ci-test-240214
test_container: nvcr.io/ea-nvidia-morpheus/morpheus:mrc-ci-test-241002
# Info about the PR. Empty for non PR branches. Useful for extracting PR number, title, etc.
pr_info: ${{ needs.prepare.outputs.pr_info }}
secrets:
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[submodule "morpheus_utils"]
path = external/utilities
url = https://github.com/nv-morpheus/utilities.git
branch = branch-24.06
branch = branch-24.10
47 changes: 44 additions & 3 deletions 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.10" 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 Expand Up @@ -79,11 +79,11 @@ morpheus_utils_initialize_package_manager(
morpheus_utils_initialize_cuda_arch(mrc)

project(mrc
VERSION 24.06.00
VERSION 24.10.00
LANGUAGES C CXX
)

rapids_cmake_write_version_file(${CMAKE_BINARY_DIR}/autogenerated/include/mrc/version.hpp)
morpheus_utils_initialize_install_prefix(MRC_USE_CONDA)

# Delay enabling CUDA until after we have determined our CXX compiler
if(NOT DEFINED CMAKE_CUDA_HOST_COMPILER)
Expand Down Expand Up @@ -178,6 +178,47 @@ if(MRC_BUILD_DOCS)
add_subdirectory(docs)
endif()

# ##################################################################################################
# - install export ---------------------------------------------------------------------------------

set(doc_string
[=[
Provide targets for mrc.
]=])

set(code_string "")

set(rapids_project_version_compat SameMinorVersion)

# Need to explicitly set VERSION ${PROJECT_VERSION} here since rapids_cmake gets
# confused with the `RAPIDS_VERSION` variable we use
rapids_export(INSTALL ${PROJECT_NAME}
EXPORT_SET ${PROJECT_NAME}-exports
GLOBAL_TARGETS libmrc pymrc
COMPONENTS python
COMPONENTS_EXPORT_SET ${PROJECT_NAME}-python-exports
VERSION ${PROJECT_VERSION}
NAMESPACE mrc::
DOCUMENTATION doc_string
FINAL_CODE_BLOCK code_string
)

# ##################################################################################################
# - build export -----------------------------------------------------------------------------------
rapids_export(BUILD ${PROJECT_NAME}
EXPORT_SET ${PROJECT_NAME}-exports
GLOBAL_TARGETS libmrc pymrc
COMPONENTS python
COMPONENTS_EXPORT_SET ${PROJECT_NAME}-python-exports
VERSION ${PROJECT_VERSION}
LANGUAGES C CXX CUDA
NAMESPACE mrc::
DOCUMENTATION doc_string
FINAL_CODE_BLOCK code_string
)

# ##################################################################################################
# - debug info -------------------------------------------------------------------------------------
if (MRC_ENABLE_DEBUG_INFO)
morpheus_utils_print_all_targets()

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
8 changes: 4 additions & 4 deletions ci/conda/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ To build the Conda packages, it's recommended to run the provided scripts from a

```bash
cd ${MRC_ROOT}
docker buildx build --target developement -t mrc-conda-build .
docker buildx build --target development -t mrc-conda-build .
```

This will create the image `mrc-conda-build` that can be used to build MRC conda packages. When running this container, is recommended to set the environment variable `CONDA_PKGS_DIRS` to a path mounted on the host to speed up the build process. Without this variable set, the packages needed during the build will need to be re-downloaded each time the container is run.
Expand All @@ -16,14 +16,14 @@ To build and save the MRC conda package, run the following:
```bash
docker run --rm -ti -v $PWD:/work \
-e CONDA_PKGS_DIRS=/work/.cache/conda_pkgs \
-e CONDA_ARGS="--output-folder=/work/.conda-bld" \
-e CONDA_ARGS="--output-folder=/work/.tmp/.conda-bld" \
mrc-conda-build ./ci/conda/recipes/run_conda_build.sh
```

This will save the conda packages to `${MRC_ROOT}/.conda-bld`. To install from this location, use the following:
This will save the conda packages to `${MRC_ROOT}/.tmp/.conda-bld`. To install from this location, use the following:

```bash
conda install -c file://${MRC_ROOT}/.conda-bld mrc
conda install -c file://${MRC_ROOT}/.tmp/.conda-bld mrc
```

## Uploading the Conda Package
Expand Down
8 changes: 4 additions & 4 deletions ci/conda/recipes/libmrc/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,20 @@
# limitations under the License.

c_compiler_version:
- 11.2
- 12.1

cxx_compiler_version:
- 11.2
- 12.1

cuda_compiler:
- cuda-nvcc

cuda_compiler_version:
- 12.1
- 12.5

python:
- 3.10

# Setup the dependencies to build with multiple versions of RAPIDS
rapids_version: # Keep around compatibility with current version -2
- 24.02
- 24.10
18 changes: 9 additions & 9 deletions ci/conda/recipes/libmrc/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

{% set version = environ.get('GIT_VERSION', '0.0.0.dev').lstrip('v') + environ.get('VERSION_SUFFIX', '') %}
{% set py_version = environ.get('CONDA_PY', '3.10') %}
{% set cuda_version = '.'.join(environ.get('CUDA', '12.1').split('.')[:2]) %}
{% set cuda_version = '.'.join(environ.get('CUDA', '12.5').split('.')[:2]) %}

package:
name: libmrc-split
Expand All @@ -42,9 +42,9 @@ 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
- sysroot_linux-64 >=2.28
host:
# Libraries necessary to build. Keep sorted!
- boost-cpp =1.84
Expand All @@ -53,8 +53,8 @@ requirements:
- cuda-nvrtc-dev {{ cuda_version }}.*
- cuda-version {{ cuda_version }}.*
- doxygen 1.10.0
- glog =0.6
- libgrpc =1.59
- glog>=0.7.1,<0.8
- libgrpc =1.62.2
- gtest =1.14
- libhwloc =2.9.2
- librmm {{ rapids_version }}
Expand All @@ -80,14 +80,14 @@ 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
- cuda-version # Needed to allow pin_compatible to work
- glog =0.6
- libgrpc =1.59
- glog>=0.7.1,<0.8
- libgrpc =1.62.2
- libhwloc =2.9.2
- librmm {{ rapids_version }}
- nlohmann_json =3.11
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.10}")
fi

# And default channels (should match dependencies.yaml)
Expand Down
1 change: 1 addition & 0 deletions ci/iwyu/mappings.imp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## Include mappings

# stdlib
{ "include": [ "<bits/chrono.h>", private, "<chrono>", "public" ] },
{ "include": [ "<bits/cxxabi_forced.h>", private, "<mutex>", "public" ] },
{ "include": [ "<bits/cxxabi_forced.h>", private, "<vector>", "public" ] },
{ "include": [ "<bits/this_thread_sleep.h>", private, "<thread>", "public" ] },
Expand Down
3 changes: 1 addition & 2 deletions ci/scripts/cpp_checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,8 @@ if [[ -n "${MRC_MODIFIED_FILES}" ]]; then

# Include What You Use
if [[ "${SKIP_IWYU}" == "" ]]; then
# Remove .h, .hpp, and .cu files from the modified list
shopt -s extglob
IWYU_MODIFIED_FILES=( "${MRC_MODIFIED_FILES[@]/*.@(h|hpp|cu)/}" )
IWYU_MODIFIED_FILES=( "${MRC_MODIFIED_FILES[@]}" )

if [[ -n "${IWYU_MODIFIED_FILES}" ]]; then
# Get the list of compiled files relative to this directory
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
2 changes: 1 addition & 1 deletion ci/scripts/run_ci_local.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ 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:-240214}
CONTAINER_VER=${CONTAINER_VER:-241002}
CUDA_VER=${CUDA_VER:-12.1}
DOCKER_EXTRA_ARGS=${DOCKER_EXTRA_ARGS:-""}

Expand Down
Loading
Loading