From 6558a715978c7138af7dc0ea161143db9926f900 Mon Sep 17 00:00:00 2001 From: Christopher Harris Date: Mon, 11 Sep 2023 21:56:11 -0500 Subject: [PATCH] Updates for MRC/Morpheus to build in the same RAPIDS devcontainer environment (#1171) Adds a new `dependencies.yaml` which is used in RAPIDS devcontainer utils to generate conda env yamls, `project.toml`'s, and `setup.py`s on-the-fly using https://github.com/rapidsai/dependency-file-generator. Eventually we can generate/verify our existing environment files this way, but for now this gets us up and running in a RAPIDS devcontainer. Also fixes an issue where newer versions of Boost provide an overload to http request header `insert` where our existing usage would be ambiguous. MRC/Morpheus unified build environment is a WIP, but available here: https://github.com/cwharris/cyber-dev. Depends on https://github.com/nv-morpheus/utilities/pull/55 Contributes to https://github.com/nv-morpheus/Morpheus/issues/704 Authors: - Christopher Harris (https://github.com/cwharris) Approvers: - Michael Demoret (https://github.com/mdemoret-nv) URL: https://github.com/nv-morpheus/Morpheus/pull/1171 --- dependencies.yaml | 103 ++++++++++++++++++++++++++ external/utilities | 2 +- morpheus/_lib/src/io/loaders/rest.cpp | 2 +- 3 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 dependencies.yaml diff --git a/dependencies.yaml b/dependencies.yaml new file mode 100644 index 0000000000..2919123bf5 --- /dev/null +++ b/dependencies.yaml @@ -0,0 +1,103 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# 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. + +# Dependency list for https://github.com/rapidsai/dependency-file-generator +files: + all: + output: conda + matrix: + cuda: ["11.8"] + arch: [x86_64] + includes: + - build_cpp + - run_morpheus + - test_python_morpheus + - cudatoolkit + +channels: + - rapidsai + - nvidia/label/cuda-11.8.0 + - nvidia + - rapidsai-nightly + - nvidia/label/dev + - pytorch + - conda-forge + +dependencies: + + build_cpp: # should be split in to `build_python` if/when converting to use scikit-build + common: + - output_types: [conda] + packages: + - boost-cpp=1.82 + - cuda-nvcc + - cudf=23.06 + - cxx-compiler + - cython=0.29.24 + - libhwloc=2.9.2 + - librdkafka=1.9.2 + - ninja=1.10 + - nlohmann_json=3.9 + - protobuf=4.21.* + - pybind11-stubgen=0.10 + - rapidjson=1.1.0 + - scikit-build=0.17.1 + - tritonclient=2.26 # Required by NvTabular, force the version, so we get protobufs compatible with 4.21 + - ucx=1.14 + run_morpheus: + common: + - output_types: [conda] + packages: + - appdirs + - click>=8 + - datacompy=0.8 + - dill + - gputil + - grpcio + - mlflow>=2.2.1,<3 + - numpydoc=1.4 + - nvtabular=23.06 + - python-confluent-kafka=1.9.2 + - python-graphviz + - pytorch-cuda + - pytorch=2.0.1 + - scikit-learn=1.2.2 + - sqlalchemy<2.0 # 2.0 is incompatible with pandas=1.3 + - tqdm=4 + - typing_utils=0.1 + - watchdog=2.1 + test_python_morpheus: + common: + - output_types: [conda] + packages: + - pip + - pytest + - pytest-benchmark>=4.0 + - pytest-cov + - pip: + - pytest-kafka==0.6.0 + + cudatoolkit: + specific: + - output_types: [conda] + matrices: + - matrix: + cuda: "11.8" + packages: + - cuda-cudart-dev=11.8 + - cuda-nvml-dev=11.8 + - cuda-nvrtc-dev=11.8 + - cuda-tools=11.8 + - cuda-version=11.8 diff --git a/external/utilities b/external/utilities index 5adffec7d2..15894ac310 160000 --- a/external/utilities +++ b/external/utilities @@ -1 +1 @@ -Subproject commit 5adffec7d21fe3d64567a684307e645d5609408c +Subproject commit 15894ac3105c27cad4ee860f20d3d1d3bbe85f9a diff --git a/morpheus/_lib/src/io/loaders/rest.cpp b/morpheus/_lib/src/io/loaders/rest.cpp index 59de3631ff..244e05847f 100644 --- a/morpheus/_lib/src/io/loaders/rest.cpp +++ b/morpheus/_lib/src/io/loaders/rest.cpp @@ -156,7 +156,7 @@ void construct_request(http::request& request, } for (auto& x_header : x_headers.items()) { - request.insert(x_header.key(), x_header.value()); + request.insert(x_header.key(), x_header.value().dump()); } }