diff --git a/CMakeLists.txt b/CMakeLists.txt index b19fddfad8..541996bb29 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,7 +62,21 @@ rapids_cmake_build_type(Release) include(cmake/configure_toolchain.cmake) # Project definition -project(morpheus LANGUAGES C CXX CUDA) +project(morpheus LANGUAGES C CXX) + +# Delay enabling CUDA until after we have determined our CXX compiler +if(NOT DEFINED CMAKE_CUDA_HOST_COMPILER) + message(STATUS "Setting CUDA host compiler to match CXX compiler: ${CMAKE_CXX_COMPILER}") + + # Only set the host compiler if we arent using clang. Using clang > 8ish is + # incompatible with CUDA 11.4/11.5/11.6. See Issue #102 + if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER}) + endif() +endif() + +# Now enable CUDA +enable_language(CUDA) # Ccache configuration include(setup_cache) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 99f95cd3fd..361996cdfb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -49,7 +49,7 @@ 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.04` + - `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` - `CUDA_VER`: The desired CUDA version to use. If in doubt use `11.5` @@ -57,7 +57,7 @@ All of the following instructions assume several variables have been set: ```bash export PYTHON_VER=3.8 -export RAPIDS_VER=22.04 +export RAPIDS_VER=22.06 export CUDA_VER=11.5 export MORPHEUS_ROOT=$(pwd)/morpheus git clone https://github.com/NVIDIA/Morpheus.git $MORPHEUS_ROOT @@ -191,7 +191,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.04 + export RAPIDS_VER=22.06 export CUDA_VER=11.5 export MORPHEUS_ROOT=$(pwd)/morpheus git clone https://github.com/NVIDIA/Morpheus.git $MORPHEUS_ROOT diff --git a/ci/Jenkinsfile b/ci/Jenkinsfile index 86c527ce70..c682c1cf87 100644 --- a/ci/Jenkinsfile +++ b/ci/Jenkinsfile @@ -7,7 +7,7 @@ pipeline { } environment { PYTHON_VER = '3.8' - RAPIDS_VER = '22.04' + RAPIDS_VER = '22.06' CUDA_VER = '11.5' HOME = "${WORKSPACE}" BUILD_TYPE = sh(returnStdout: true, script: 'rapids-build-type') @@ -26,7 +26,7 @@ pipeline { when { environment name: 'BUILD_TYPE', value: 'pull-request' } agent { docker { - image 'gpuci/rapidsai-driver:22.04-cuda11.5-devel-centos7-py3.8' + image 'gpuci/rapidsai-driver:22.06-cuda11.5-devel-centos7-py3.8' label 'cpu' } } @@ -50,7 +50,7 @@ pipeline { } agent { docker { - image 'gpuci/rapidsai:22.04-cuda11.5-devel-centos7-py3.8' + image 'gpuci/rapidsai:22.06-cuda11.5-devel-centos7-py3.8' label 'driver-495' args '--runtime "nvidia" -e "NVIDIA_VISIBLE_DEVICES=$EXECUTOR_NUMBER"' } @@ -83,7 +83,7 @@ pipeline { } agent { docker { - image 'gpuci/rapidsai:22.04-cuda11.5-devel-centos7-py3.8' + image 'gpuci/rapidsai:22.06-cuda11.5-devel-centos7-py3.8' label 'driver-495' args '--runtime "nvidia" -e "NVIDIA_VISIBLE_DEVICES=$EXECUTOR_NUMBER"' } @@ -114,7 +114,7 @@ pipeline { } agent { docker { - image 'gpuci/rapidsai:22.04-cuda11.5-devel-centos7-py3.8' + image 'gpuci/rapidsai:22.06-cuda11.5-devel-centos7-py3.8' label 'driver-495' args '--runtime "nvidia" -e "NVIDIA_VISIBLE_DEVICES=$EXECUTOR_NUMBER"' } diff --git a/ci/conda/recipes/morpheus/conda_build_config.yaml b/ci/conda/recipes/morpheus/conda_build_config.yaml index b87e8b77f5..bcbbabf7e8 100644 --- a/ci/conda/recipes/morpheus/conda_build_config.yaml +++ b/ci/conda/recipes/morpheus/conda_build_config.yaml @@ -33,4 +33,4 @@ boost: - 1.74 rapids_version: - - 22.04 + - 22.06 diff --git a/ci/conda/recipes/morpheus/meta.yaml b/ci/conda/recipes/morpheus/meta.yaml index c3a3091003..df763bdbb9 100644 --- a/ci/conda/recipes/morpheus/meta.yaml +++ b/ci/conda/recipes/morpheus/meta.yaml @@ -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.04" %} +{% set rapids_version = "22.06" %} package: name: morpheus-split diff --git a/cmake/deps/patches/TritonClient.patch b/cmake/deps/patches/TritonClient.patch index fc3ffb747d..34edc6c3c4 100644 --- a/cmake/deps/patches/TritonClient.patch +++ b/cmake/deps/patches/TritonClient.patch @@ -14,19 +14,19 @@ # limitations under the License. diff --git a/src/c++/library/CMakeLists.txt b/src/c++/library/CMakeLists.txt -index 4df5a71..967c0ea 100644 +index e0eed14..1551fab 100644 --- a/src/c++/library/CMakeLists.txt +++ b/src/c++/library/CMakeLists.txt -@@ -147,7 +147,7 @@ if(TRITON_ENABLE_CC_GRPC OR TRITON_ENABLE_PERF_ANALYZER) +@@ -142,7 +142,7 @@ if(TRITON_ENABLE_CC_GRPC OR TRITON_ENABLE_PERF_ANALYZER) grpcclient PROPERTIES LINK_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/libgrpcclient.ldscript - LINK_FLAGS "-Wl,--version-script=libgrpcclient.ldscript" + LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/libgrpcclient.ldscript" ) - endif() # NOT WIN32 + endif() # NOT WIN32 AND NOT TRITON_KEEP_TYPEINFO -@@ -312,7 +312,7 @@ if(TRITON_ENABLE_CC_HTTP OR TRITON_ENABLE_PERF_ANALYZER) +@@ -310,7 +310,7 @@ if(TRITON_ENABLE_CC_HTTP OR TRITON_ENABLE_PERF_ANALYZER) httpclient PROPERTIES LINK_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/libhttpclient.ldscript diff --git a/cmake/import-rapids-cmake.cmake b/cmake/import-rapids-cmake.cmake index 78f7eb81a8..9eb314a491 100644 --- a/cmake/import-rapids-cmake.cmake +++ b/cmake/import-rapids-cmake.cmake @@ -14,7 +14,7 @@ # limitations under the License. -set(RAPIDS_VERSION "22.04" CACHE STRING "Global default version for all Rapids project dependencies") +set(RAPIDS_VERSION "22.06" 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 diff --git a/docker/Dockerfile b/docker/Dockerfile index ed1a892b21..9d951165f1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -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.04 +ARG RAPIDS_VER=22.06 ARG PYTHON_VER=3.8 ARG CONDA_CHANNEL=rapidsai diff --git a/docker/build_container.sh b/docker/build_container.sh index d80483718e..f10e88a26a 100755 --- a/docker/build_container.sh +++ b/docker/build_container.sh @@ -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.04} +RAPIDS_VER=${RAPIDS_VER:-22.06} PYTHON_VER=${PYTHON_VER:-3.8} TENSORRT_VERSION=${TENSORRT_VERSION:-8.2.1.3} diff --git a/docker/conda/environments/cuda11.5_dev.yml b/docker/conda/environments/cuda11.5_dev.yml index 468e242aab..f915c4f747 100644 --- a/docker/conda/environments/cuda11.5_dev.yml +++ b/docker/conda/environments/cuda11.5_dev.yml @@ -30,8 +30,8 @@ dependencies: - cmake=3.22 - cuda-nvml-dev=11.5 - cudatoolkit=11.5 - - cudf 22.04 - - cudf_kafka 22.04.* + - cudf 22.06 + - cudf_kafka 22.06.* - cupy=9.5.0 - cython=0.29.24 - docker-compose=1.29.2