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

Morpheus changes related to utility consolidation #531

Merged
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
b2a976f
Start new update branch
drobison00 Dec 2, 2022
22d63fb
Checkpoint
drobison00 Dec 2, 2022
3aead15
Checkpoint
drobison00 Dec 2, 2022
da9cf59
Checkpoint
drobison00 Dec 2, 2022
3cfe2b9
Baseline conversion to utilities lib works
drobison00 Dec 2, 2022
99048ea
Checkpoint - transitioning morpheus _libs
drobison00 Dec 2, 2022
71493e2
More file consolidation
drobison00 Dec 2, 2022
12f0033
SRF->MRC changes compiling -- still some python errors
drobison00 Dec 6, 2022
4e034ac
Additional SRF->MRC conversions
drobison00 Dec 6, 2022
6d5e221
Add MRC config -- currently working if we install mrc directly and bu…
drobison00 Dec 7, 2022
81afaa0
Merge utilities updates
drobison00 Dec 7, 2022
6ee23e6
Update to use submodules
drobison00 Dec 8, 2022
d59e28d
Remove local cmake Configure
drobison00 Dec 8, 2022
a983414
Fix modules path
drobison00 Dec 8, 2022
bf953f4
Merge branch 'branch-23.01' into devin_issue_496_mrc_refactor
drobison00 Dec 9, 2022
d4dc62b
Build updates
drobison00 Dec 12, 2022
31fe7a5
Merge MRC migration base
drobison00 Dec 12, 2022
edfdea1
Update utilities repo tag, cleanup cmakelists
drobison00 Dec 12, 2022
1c55054
Consolidate scripts
drobison00 Dec 13, 2022
6e93745
Migrate more common scripts to utilities
drobison00 Dec 13, 2022
dabb100
Updates for final merge PR
drobison00 Dec 13, 2022
b91165e
Updates for final merge PR
drobison00 Dec 13, 2022
e60f5b9
Updates for final merge PR
drobison00 Dec 13, 2022
1cd0f04
Merge branch 'branch-23.01' into devin_issue_496_mrc_refactor
drobison00 Dec 13, 2022
1168775
Merge with mrc migration branch
drobison00 Dec 13, 2022
a6c885f
Update utilities
drobison00 Dec 13, 2022
b38058f
Formatting fixes
drobison00 Dec 13, 2022
c40ac86
Merge branch 'devin_issue_496_mrc_refactor' into devin_issue_87_mrc_r…
drobison00 Dec 13, 2022
7597924
Merge with branch-23.01
drobison00 Dec 13, 2022
918b5ab
Merge branch 'devin_issue_496_mrc_refactor' into devin_issue_87_mrc_r…
drobison00 Dec 13, 2022
d088828
Update external utils
drobison00 Dec 13, 2022
c419486
Update formatting
drobison00 Dec 13, 2022
e48d745
Merge branch 'devin_issue_496_mrc_refactor' into devin_issue_87_mrc_r…
drobison00 Dec 13, 2022
9293171
Formatting fixes
drobison00 Dec 14, 2022
ecdb6b7
Merge branch 'branch-23.01' into devin_issue_496_mrc_refactor
drobison00 Dec 14, 2022
88df477
Merge branch 'devin_issue_496_mrc_refactor' into devin_issue_87_mrc_r…
drobison00 Dec 14, 2022
a3f25f8
Bump utilities repo, add cmake debugging flags
drobison00 Dec 14, 2022
3dba9fb
Bump utilities version
drobison00 Dec 14, 2022
de12859
Syncing MRC and Morpheus .clang-format
mdemoret-nv Dec 14, 2022
649daec
Update CONTRIBUTING.md
drobison00 Dec 14, 2022
181ce01
Merge latest 23.01
drobison00 Dec 16, 2022
66514f5
Bump utilities repo version
drobison00 Dec 16, 2022
99196c6
Update CMakeLists.txt
drobison00 Dec 17, 2022
77703a0
PR feedback updates, utilitis repo bump
drobison00 Dec 17, 2022
ad4c3f4
Migrate a few more files to utilities, bump utils repo version
drobison00 Dec 19, 2022
e826167
Docs update
drobison00 Dec 19, 2022
690cb0d
Roll back Sphinx deps as default cuda11.5 environment deps
drobison00 Dec 20, 2022
e0760cb
Update morpheus to use new package creation code, bump utilities version
drobison00 Dec 20, 2022
4694c12
Update git modules versions
drobison00 Dec 20, 2022
8665f04
Bump utils repo version
drobison00 Dec 20, 2022
758426e
Merge branch 'branch-23.01' into devin_issue_87_mrc_rebase_branch
drobison00 Jan 6, 2023
6b13a4b
Merge with branch-23.01, bump utilities version
drobison00 Jan 6, 2023
498b85c
Roll to utilities branch 23.01
drobison00 Jan 6, 2023
7ddd8e6
Formatting fixes
drobison00 Jan 6, 2023
2de7319
Merge 23.01
drobison00 Jan 17, 2023
82e71bd
Update build scripts to update and initialize sub-repos
drobison00 Jan 17, 2023
80dbc8e
Update setup.py to ignore flake8 E402 errors
drobison00 Jan 17, 2023
ac0b506
Build fix
drobison00 Jan 17, 2023
31cf9c8
Formatting fix
drobison00 Jan 17, 2023
ba1fe2b
Update CI to default to cuda arch all
drobison00 Jan 17, 2023
396c06e
Add subset of compute caps to build for in CI
drobison00 Jan 17, 2023
9a236e2
CI tweak
drobison00 Jan 17, 2023
b8c0943
Merge branch-23.01
drobison00 Jan 23, 2023
94f0a54
Update utilities for build_wheel fix, and add Morpheus option for CI …
drobison00 Jan 24, 2023
77633ad
more dist updates
drobison00 Jan 24, 2023
dec6d6c
Merge branch 'branch-23.01' into devin_issue_87_mrc_rebase_branch
drobison00 Jan 24, 2023
dfc1933
Tweak CI morpheus wheel installation
drobison00 Jan 24, 2023
27d0bac
Fix python install to include morpheus testing data
drobison00 Jan 24, 2023
a528e02
Update submodule url to be portable across forks
drobison00 Jan 24, 2023
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
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,9 @@
path = external/morpheus-visualizations
url = https://github.com/nv-morpheus/morpheus-visualizations.git
branch = branch-22.11
[submodule "external/utilities"]
path = external/utilities
url = git@github.com:nv-morpheus/utilities.git
branch = devin-issue-255-87
[submodule "./external/utilities/"]
branch = devin-issue-225-87
55 changes: 40 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ option(MORPHEUS_USE_CONDA "Enables finding dependencies via conda instead of vcp
option(MORPHEUS_USE_IWYU "Enable running include-what-you-use as part of the build process" OFF)
set(MORPHEUS_PY_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/wheel" CACHE STRING "Location to install the python directory")

set(MORPHEUS_RAPIDS_CMAKE_VERSION "22.08" CACHE STRING "Sets default versions for RAPIDS CMake.")
set(MORPHEUS_CACHE_DIR "${CMAKE_SOURCE_DIR}/.cache" CACHE PATH "Directory to contain all CPM and CCache data")
mark_as_advanced(MORPHEUS_CACHE_DIR)

Expand All @@ -43,39 +44,60 @@ set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_INSTALL_RPATH "$ORIGIN")

enable_language(C CXX) # TODO(Devin) Required for coverage import
enable_testing()

# CMake path
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/cmake")

# Add the RAPIDS cmake helper scripts
include(import-rapids-cmake)
# MRC CMake path and module extensions
set(MORPHEUS_CMAKE_MODULE_PATH_EXTENSIONS
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/utilities/cmake")

set(MORPHEUS_CMAKE_PREFIX_PATH_EXTENSIONS
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
)

# Prepend path and prefix updates so they take priority in this scope.
list(PREPEND CMAKE_MODULE_PATH "${MORPHEUS_CMAKE_MODULE_PATH_EXTENSIONS}")
list(PREPEND CMAKE_PREFIX_PATH "${MORPHEUS_CMAKE_PREFIX_PATH_EXTENSIONS}")

# Load morpheus utils and update CMake paths
set(MORPHEUS_UTILS_RAPIDS_CMAKE_VERSION ${MRC_RAPIDS_VERSION})
set(MORPHEUS_UTILS_RAPIDS_CPM_INIT_OVERRIDE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/rapids_cpm_package_overrides.json")
include(morpheus_utils/load)

# Configure project package manager
morpheus_utils_initialize_package_manager(
MORPHEUS_USE_CONDA
BUILD_SHARED_LIBS
MORPHEUS_VCPKG_TOOLCHAIN
MORPHEUS_VCPKG_DEFAULT_BINARY_CACHE
drobison00 marked this conversation as resolved.
Show resolved Hide resolved
)

# Configure CUDA architecture
include(configure_cuda_architecture)
# NOTE: This MUST occur before any 'project' calls because of rapids_cmake requirements.
morpheus_utils_initialize_cuda_arch(morpheus)

# Set a default build type if none was specified
rapids_cmake_build_type(Release)

# Toolchain selection (Conda/VCPKG/custom) and configuration
include(cmake/configure_toolchain.cmake)

# Project definition
project(morpheus LANGUAGES C CXX CUDA)
project(morpheus
VERSION 23.01.00
LANGUAGES C CXX CUDA)
rapids_cmake_write_version_file(${CMAKE_BINARY_DIR}/autogenerated/include/mrc/version.hpp)

# Ccache configuration
include(setup_cache)
include(environment/init_ccache)

# Configure all dependencies
include(cmake/dependencies.cmake)
include(dependencies)

####################################
# - Post dependencies setup --------
include(cmake/setup_compiler.cmake)
include(environment/init_compiler)

# Setup IWYU if enabled
include(cmake/setup_iwyu.cmake)
include(environment/init_iwyu)

# To make it easier for CI to find output files, set the default executable suffix to .x if not set
if("${CMAKE_EXECUTABLE_SUFFIX}" STREQUAL "")
Expand Down Expand Up @@ -158,5 +180,8 @@ install(
PATTERN "data/*"
)

# Cleanup the environment after we exit this scope
list(REMOVE_ITEM CMAKE_PREFIX_PATH "${MORPHEUS_CMAKE_PREFIX_PATH_EXTENSIONS}")
list(REMOVE_ITEM CMAKE_MODULE_PATH "${MORPHEUS_CMAKE_MODULE_PATH_EXTENSIONS}")

list(POP_BACK CMAKE_MESSAGE_CONTEXT)
26 changes: 0 additions & 26 deletions cmake/ccache.conf.in

This file was deleted.

29 changes: 0 additions & 29 deletions cmake/configure_cuda_architecture.cmake

This file was deleted.

74 changes: 0 additions & 74 deletions cmake/configure_toolchain.cmake

This file was deleted.

72 changes: 0 additions & 72 deletions cmake/debug_utils.cmake

This file was deleted.

21 changes: 7 additions & 14 deletions cmake/dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -83,37 +83,30 @@ endif()

drobison00 marked this conversation as resolved.
Show resolved Hide resolved
# libcudacxx -- get an explicit lubcudacxx build, matx tries to pull a tag that doesn't exist.
# =========
set(LIBCUDACXX_VERSION "1.8.0" CACHE STRING "Version of libcudacxx to use")
include(deps/Configure_libcudacxx)
morpheus_utils_configure_libcudacxx()
drobison00 marked this conversation as resolved.
Show resolved Hide resolved

# matx
# ====
set(MATX_VERSION "0.1.0" CACHE STRING "Version of MatX to use")
include(deps/Configure_matx)
morpheus_utils_configure_matx()

# pybind11
# =========
set(PYBIND11_VERSION "2.8.1" CACHE STRING "Version of Pybind11 to use")
include(deps/Configure_pybind11)
morpheus_utils_configure_pybind11()

# RD-Kafka
# =====
set(RDKAFKA_VERSION 1.6.2)
include(deps/Configure_rdkafka)
morpheus_utils_configure_rdkafka()

# MRC (Should come after all third party but before NVIDIA repos)
# =====
set(MRC_VERSION 23.01 CACHE STRING "Which version of MRC to use")
include(deps/Configure_mrc)
morpheus_utils_configure_mrc()

# CuDF
# =====
set(CUDF_VERSION "${MORPHEUS_RAPIDS_VERSION}" CACHE STRING "Which version of cuDF to use")
include(deps/Configure_cudf)
morpheus_utils_configure_cudf()

# Triton-client
# =====
set(TRITONCLIENT_VERSION "${MORPHEUS_RAPIDS_VERSION}" CACHE STRING "Which version of TritonClient to use")
include(deps/Configure_TritonClient)
morpheus_utils_configure_tritonclient()

list(POP_BACK CMAKE_MESSAGE_CONTEXT)
45 changes: 0 additions & 45 deletions cmake/deps/Configure_TritonClient.cmake

This file was deleted.

Loading