Skip to content

Commit

Permalink
Fixing compilation with SRF 22.08a (#332)
Browse files Browse the repository at this point in the history
When compiling with SRF 22.08 conda package, some modifications are necessary to get the compilation to succeed.

Authors:
  - Michael Demoret (https://github.com/mdemoret-nv)

Approvers:
  - David Gardner (https://github.com/dagardner-nv)
  - Bartley Richardson (https://github.com/BartleyR)

URL: #332
  • Loading branch information
mdemoret-nv authored Sep 7, 2022
1 parent 4e96d51 commit 219711d
Show file tree
Hide file tree
Showing 17 changed files with 27 additions and 264 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ endif()
##################################

# Create a custom target to allow preparing for style checks
add_custom_target(style_checks
add_custom_target(${PROJECT_NAME}_style_checks
COMMENT "Building dependencies for style checks"
)

Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,15 @@ The following instructions are for developers who are getting started with the M
All of the following instructions assume several variables have been set:
- `MORPHEUS_ROOT`: The Morpheus repository has been checked out at a location specified by this variable. Any non-absolute paths are relative to `MORPHEUS_ROOT`.
- `PYTHON_VER`: The desired Python version. Minimum required is `3.8`
- `RAPIDS_VER`: The desired RAPIDS version for all RAPIDS libraries including cuDF and RMM. This is also used for Triton. If in doubt use `22.06`
- `RAPIDS_VER`: The desired RAPIDS version for all RAPIDS libraries including cuDF and RMM. This is also used for Triton. If in doubt use `22.08`
- `CUDA_VER`: The desired CUDA version to use. If in doubt use `11.5`


### Clone the repository and pull large file data from Git LFS

```bash
export PYTHON_VER=3.8
export RAPIDS_VER=22.06
export RAPIDS_VER=22.08
export CUDA_VER=11.5
export MORPHEUS_ROOT=$(pwd)/morpheus
git clone https://github.com/NVIDIA/Morpheus.git $MORPHEUS_ROOT
Expand Down Expand Up @@ -165,7 +165,7 @@ Note: These instructions assume the user is using `mamba` instead of `conda` sin
1. Setup env variables and clone the repo:
```bash
export PYTHON_VER=3.8
export RAPIDS_VER=22.06
export RAPIDS_VER=22.08
export CUDA_VER=11.5
export MORPHEUS_ROOT=$(pwd)/morpheus
git clone https://github.com/NVIDIA/Morpheus.git $MORPHEUS_ROOT
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,10 @@ To run the built "release" container, use the following:
./docker/run_container_release.sh
```

You can specify different Docker images and tags by passing the script the `DOCKER_IMAGE_TAG`, and `DOCKER_IMAGE_TAG` variables respectively. For example, to run version `v22.06.00a` use the following:
You can specify different Docker images and tags by passing the script the `DOCKER_IMAGE_TAG`, and `DOCKER_IMAGE_TAG` variables respectively. For example, to run version `v22.08.00a` use the following:

```bash
DOCKER_IMAGE_TAG="v22.06.00a-runtime" ./docker/run_container_release.sh
DOCKER_IMAGE_TAG="v22.08.00a-runtime" ./docker/run_container_release.sh
```

### Build from Source
Expand Down
2 changes: 1 addition & 1 deletion ci/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ pipeline {
}
environment {
PYTHON_VER = '3.8'
RAPIDS_VER = '22.06'
RAPIDS_VER = '22.08'
CUDA_VER = '11.5'
USE_SCCACHE = '1'
HOME = "${WORKSPACE}"
Expand Down
2 changes: 1 addition & 1 deletion ci/conda/recipes/morpheus/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ boost:
- 1.74

rapids_version:
- 22.06
- 22.08
2 changes: 1 addition & 1 deletion ci/conda/recipes/morpheus/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
{% set py_version=environ.get('CONDA_PY', '3.8') %}
{% set cuda_version='.'.join(environ.get('CUDA', '11.5').split('.')[:2]) %}
{% set cuda_major=cuda_version.split('.')[0] %}
{% set rapids_version = "22.06" %}
{% set rapids_version = "22.08" %}

package:
name: morpheus-split
Expand Down
2 changes: 1 addition & 1 deletion ci/scripts/jenkins/checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ gpuci_logger "Configuring cmake for Morpheus"
cmake -B build -G Ninja ${CMAKE_BUILD_ALL_FEATURES} -DCCACHE_PROGRAM_PATH=$(which sccache) .

gpuci_logger "Building targets that generate source code"
cmake --build build --target style_checks --parallel ${PARALLEL_LEVEL}
cmake --build build --target morpheus_style_checks --parallel ${PARALLEL_LEVEL}

gpuci_logger "sccache usage for source build:"
sccache --show-stats
Expand Down
2 changes: 1 addition & 1 deletion cmake/dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ include(deps/Configure_rdkafka)

# SRF (Should come after all third party but before NVIDIA repos)
# =====
set(SRF_VERSION 22.06 CACHE STRING "Which version of SRF to use")
set(SRF_VERSION 22.08 CACHE STRING "Which version of SRF to use")
include(deps/Configure_srf)

# CuDF
Expand Down
2 changes: 1 addition & 1 deletion cmake/import-rapids-cmake.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# limitations under the License.


set(RAPIDS_VERSION "22.06" CACHE STRING "Global default version for all Rapids project dependencies")
set(RAPIDS_VERSION "22.08" CACHE STRING "Global default version for all Rapids project dependencies")
set(RAPIDS_CMAKE_VERSION "${RAPIDS_VERSION}" CACHE STRING "Version of rapids-cmake to use")

# Download and load the repo according to the rapids-cmake instructions if it does not exist
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ FROM ${FROM_IMAGE}:${CUDA_VER}-devel-${LINUX_DISTRO}${LINUX_VER} AS base
# Required arguments
ARG IMAGE_TYPE=base
ARG RAPIDS_CHANNEL=rapidsai-nightly
ARG RAPIDS_VER=22.06
ARG RAPIDS_VER=22.08
ARG PYTHON_VER=3.8
ARG CONDA_CHANNEL=rapidsai

Expand Down
2 changes: 1 addition & 1 deletion docker/build_container.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ FROM_IMAGE=${FROM_IMAGE:-"gpuci/miniforge-cuda"}
CUDA_VER=${CUDA_VER:-11.5}
LINUX_DISTRO=${LINUX_DISTRO:-ubuntu}
LINUX_VER=${LINUX_VER:-20.04}
RAPIDS_VER=${RAPIDS_VER:-22.06}
RAPIDS_VER=${RAPIDS_VER:-22.08}
PYTHON_VER=${PYTHON_VER:-3.8}
TENSORRT_VERSION=${TENSORRT_VERSION:-8.2.1.3}

Expand Down
6 changes: 3 additions & 3 deletions docker/conda/environments/cuda11.5_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ dependencies:
- cuda-nvml-dev=11.5
- cuda-python<=11.7.0 # Remove when Issue #251 is closed
- cudatoolkit=11.5
- cudf 22.06
- cudf_kafka 22.06.*
- cudf 22.08
- cudf_kafka 22.08.*
- cupy=9.5.0
- cython=0.29.24
- docker-compose=1.29.2
Expand Down Expand Up @@ -69,7 +69,7 @@ dependencies:
- scikit-build=0.13
- sphinx
- sphinx_rtd_theme
- srf 22.06.*
- srf 22.08.*
- sysroot_linux-64=2.17
- tqdm
- yapf=0.32.0
Expand Down
4 changes: 2 additions & 2 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,13 @@ To get started, first pull the NGC container:

.. code-block:: console
$ docker pull nvcr.io/nvidia/morpheus/morpheus:22.06-runtime
$ docker pull nvcr.io/nvidia/morpheus/morpheus:22.08-runtime
Launch an interactive container to start using Morpheus:

.. code-block:: console
$ docker run --rm -ti --net=host --gpus=all nvcr.io/nvidia/morpheus/morpheus:22.06-runtime bash
$ docker run --rm -ti --net=host --gpus=all nvcr.io/nvidia/morpheus/morpheus:22.08-runtime bash
(morpheus) root@958a683a8a26:/workspace# morpheus --help
Usage: morpheus [OPTIONS] COMMAND [ARGS]...Options:
--debug / --no-debug [default: False]
Expand Down
12 changes: 6 additions & 6 deletions docs/source/morpheus_quickstart_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ The Morpheus AI Engine consists of the following components:
Follow the below steps to install Morpheus AI Engine:

```bash
$ helm fetch https://helm.ngc.nvidia.com/nvidia/morpheus/charts/morpheus-ai-engine-22.06.tgz --username='$oauthtoken' --password=$API_KEY --untar
$ helm fetch https://helm.ngc.nvidia.com/nvidia/morpheus/charts/morpheus-ai-engine-22.08.tgz --username='$oauthtoken' --password=$API_KEY --untar
```
```bash
$ helm install --set ngc.apiKey="$API_KEY" \
Expand Down Expand Up @@ -207,7 +207,7 @@ replicaset.apps/zookeeper-87f9f4dd 1 1 1 54s
Run the following command to pull the Morpheus SDK Client chart on to your instance:

```bash
$ helm fetch https://helm.ngc.nvidia.com/nvidia/morpheus/charts/morpheus-sdk-client-22.06.tgz --username='$oauthtoken' --password=$API_KEY --untar
$ helm fetch https://helm.ngc.nvidia.com/nvidia/morpheus/charts/morpheus-sdk-client-22.08.tgz --username='$oauthtoken' --password=$API_KEY --untar
```

#### Morpheus SDK Client in Sleep Mode
Expand Down Expand Up @@ -245,7 +245,7 @@ $ kubectl -n $NAMESPACE exec sdk-cli-helper -- cp -RL /workspace/models /common
The Morpheus MLflow Triton Plugin is used to deploy, update, and remove models from the Morpheus AI Engine. The MLflow server UI can be accessed using NodePort 30500. Follow the below steps to install the Morpheus MLflow Triton Plugin:

```bash
$ helm fetch https://helm.ngc.nvidia.com/nvidia/morpheus/charts/morpheus-mlflow-22.06.tgz --username='$oauthtoken' --password=$API_KEY --untar
$ helm fetch https://helm.ngc.nvidia.com/nvidia/morpheus/charts/morpheus-mlflow-22.08.tgz --username='$oauthtoken' --password=$API_KEY --untar
```
```bash
$ helm install --set ngc.apiKey="$API_KEY" \
Expand Down Expand Up @@ -1146,9 +1146,9 @@ This section lists solutions to problems you might encounter with Morpheus or fr



[Morpheus Pipeline Examples]: https://github.com/NVIDIA/Morpheus/tree/branch-22.06/examples
[Morpheus Contribution]: https://github.com/NVIDIA/Morpheus/blob/branch-22.06/CONTRIBUTING.md
[Morpheus Developer Guide]: https://github.com/NVIDIA/Morpheus/tree/branch-22.06/docs/source/developer_guide/guides
[Morpheus Pipeline Examples]: https://github.com/NVIDIA/Morpheus/tree/branch-22.08/examples
[Morpheus Contribution]: https://github.com/NVIDIA/Morpheus/blob/branch-22.08/CONTRIBUTING.md
[Morpheus Developer Guide]: https://github.com/NVIDIA/Morpheus/tree/branch-22.08/docs/source/developer_guide/guides
[Triton Inference Server Model Configuration]: https://github.com/triton-inference-server/server/blob/main/docs/model_configuration.md
[NVIDIA’s Cloud Native Core Stack]: https://github.com/NVIDIA/cloud-native-core
[NGC Registry CLI User Guide]: https://docs.nvidia.com/dgx/ngc-registry-cli-user-guide/index.html#topic_4_1
4 changes: 2 additions & 2 deletions morpheus/_lib/cmake/libraries/cudf_helpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ morpheus_add_cython_libraries(

# This target generates headers used by other parts of the code base.
# The C++ checks used in CI need these headers but don't require an actual build.
# The `style_checks` target allows these to be generated without a full build of Morpheus.
add_dependencies(style_checks ${cudf_helpers_target})
# The `morpheus_style_checks` target allows these to be generated without a full build of Morpheus.
add_dependencies(${PROJECT_NAME}_style_checks ${cudf_helpers_target})

if (MORPHEUS_PYTHON_INPLACE_BUILD)
inplace_build_copy(${cudf_helpers_target} ${MORPHEUS_LIB_ROOT})
Expand Down
Loading

0 comments on commit 219711d

Please sign in to comment.