diff --git a/CMakeLists.txt b/CMakeLists.txt index b19081c..e4aeaaf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,11 @@ option(TRITON_ENABLE_MEMORY_TRACKER "Include device memory tracker in backend ut set(TRITON_COMMON_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/common repo") set(TRITON_CORE_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/core repo") +# +# Setting C++ standard +# +set(TRITON_MIN_CXX_STANDARD 17 CACHE STRING "The minimum C++ standard whose features are requested to build this target.") + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() @@ -76,7 +81,7 @@ if(${TRITON_ENABLE_GPU}) find_package(CUDAToolkit REQUIRED) find_package(CUDA REQUIRED) message(STATUS "Using CUDA ${CUDA_VERSION}") - set(CUDA_NVCC_FLAGS -std=c++11) + set(CUDA_NVCC_FLAGS -std=c++${TRITON_MIN_CXX_STANDARD}) if(CUDA_VERSION VERSION_GREATER "10.1" OR CUDA_VERSION VERSION_EQUAL "10.1") add_definitions(-DTRITON_ENABLE_CUDA_GRAPH=1) @@ -145,7 +150,8 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") "If the target system is not Windows 10, please update _WIN32_WINNT " "to corresponding value.") endif() -target_compile_features(triton-backend-utils PRIVATE cxx_std_11) + +target_compile_features(triton-backend-utils PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD}) target_compile_options( triton-backend-utils PRIVATE diff --git a/examples/backends/bls/CMakeLists.txt b/examples/backends/bls/CMakeLists.txt index f584009..e30ea28 100644 --- a/examples/backends/bls/CMakeLists.txt +++ b/examples/backends/bls/CMakeLists.txt @@ -44,6 +44,11 @@ set(TRITON_BACKEND_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server set(TRITON_CORE_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/core repo") set(TRITON_COMMON_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/common repo") +# +# Setting C++ min standard +# +set(TRITON_MIN_CXX_STANDARD 17 CACHE STRING "The minimum C++ standard whose features are requested to build this target.") + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() @@ -100,7 +105,7 @@ target_include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/src ) -target_compile_features(triton-bls-backend PRIVATE cxx_std_11) +target_compile_features(triton-bls-backend PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD}) target_compile_options( triton-bls-backend PRIVATE $<$,$,$>: diff --git a/examples/backends/minimal/CMakeLists.txt b/examples/backends/minimal/CMakeLists.txt index ab3ebd5..94ed1a6 100644 --- a/examples/backends/minimal/CMakeLists.txt +++ b/examples/backends/minimal/CMakeLists.txt @@ -44,6 +44,11 @@ set(TRITON_COMMON_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/ set(TRITON_CORE_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/core repo") set(TRITON_BACKEND_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/backend repo") +# +# Setting C++ min standard +# +set(TRITON_MIN_CXX_STANDARD 17 CACHE STRING "The minimum C++ standard whose features are requested to build this target.") + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() @@ -97,7 +102,7 @@ target_include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/src ) -target_compile_features(triton-minimal-backend PRIVATE cxx_std_11) +target_compile_features(triton-minimal-backend PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD}) target_compile_options( triton-minimal-backend PRIVATE $<$,$,$>: diff --git a/examples/backends/recommended/CMakeLists.txt b/examples/backends/recommended/CMakeLists.txt index 26e451a..803638b 100644 --- a/examples/backends/recommended/CMakeLists.txt +++ b/examples/backends/recommended/CMakeLists.txt @@ -44,6 +44,11 @@ set(TRITON_COMMON_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/ set(TRITON_CORE_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/core repo") set(TRITON_BACKEND_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/backend repo") +# +# Setting C++ min standard +# +set(TRITON_MIN_CXX_STANDARD 17 CACHE STRING "The minimum C++ standard whose features are requested to build this target.") + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() @@ -97,7 +102,7 @@ target_include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/src ) -target_compile_features(triton-recommended-backend PRIVATE cxx_std_11) +target_compile_features(triton-recommended-backend PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD}) target_compile_options( triton-recommended-backend PRIVATE $<$,$,$>: diff --git a/examples/batching_strategies/single_batching/CMakeLists.txt b/examples/batching_strategies/single_batching/CMakeLists.txt index 6c9ba94..7ab1af7 100644 --- a/examples/batching_strategies/single_batching/CMakeLists.txt +++ b/examples/batching_strategies/single_batching/CMakeLists.txt @@ -32,6 +32,11 @@ set(TRITON_COMMON_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/ set(TRITON_CORE_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/core repo") set(TRITON_BACKEND_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/backend repo") +# +# Setting C++ min standard +# +set(TRITON_MIN_CXX_STANDARD 17 CACHE STRING "The minimum C++ standard whose features are requested to build this target.") + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() @@ -81,7 +86,7 @@ target_include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/src ) -target_compile_features(triton-single-batching PRIVATE cxx_std_11) +target_compile_features(triton-single-batching PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD}) target_compile_options( triton-single-batching PRIVATE $<$,$,$>: diff --git a/examples/batching_strategies/volume_batching/CMakeLists.txt b/examples/batching_strategies/volume_batching/CMakeLists.txt index 02eed01..5636bdd 100644 --- a/examples/batching_strategies/volume_batching/CMakeLists.txt +++ b/examples/batching_strategies/volume_batching/CMakeLists.txt @@ -32,6 +32,11 @@ set(TRITON_COMMON_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/ set(TRITON_CORE_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/core repo") set(TRITON_BACKEND_REPO_TAG "main" CACHE STRING "Tag for triton-inference-server/backend repo") +# +# Setting C++ min standard +# +set(TRITON_MIN_CXX_STANDARD 17 CACHE STRING "The minimum C++ standard whose features are requested to build this target.") + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() @@ -81,7 +86,7 @@ target_include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/src ) -target_compile_features(triton-volume-batching PRIVATE cxx_std_11) +target_compile_features(triton-volume-batching PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD}) target_compile_options( triton-volume-batching PRIVATE $<$,$,$>: