Skip to content

Commit

Permalink
Clarifying cmake standard setting
Browse files Browse the repository at this point in the history
  • Loading branch information
oandreeva-nv committed Dec 19, 2023
1 parent 6ff3a0b commit 01fd43c
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 12 deletions.
11 changes: 9 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,15 @@ 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")

# C++ standard
# 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 DEFINED CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD LESS ${TRITON_MIN_CXX_STANDARD})
set(BACKEND_CMAKE_CXX_STANDARD ${TRITON_MIN_CXX_STANDARD})
else()
set(BACKEND_CMAKE_CXX_STANDARD ${CMAKE_CXX_STANDARD})
endif()

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
Expand Down Expand Up @@ -79,7 +85,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++${TRITON_MIN_CXX_STANDARD})
set(CUDA_NVCC_FLAGS -std=c++${BACKEND_CMAKE_CXX_STANDARD})

if(CUDA_VERSION VERSION_GREATER "10.1" OR CUDA_VERSION VERSION_EQUAL "10.1")
add_definitions(-DTRITON_ENABLE_CUDA_GRAPH=1)
Expand Down Expand Up @@ -149,6 +155,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
"to corresponding value.")
endif()

target_compile_features(triton-backend-utils PRIVATE cxx_std_${BACKEND_CMAKE_CXX_STANDARD})
target_compile_options(
triton-backend-utils
PRIVATE
Expand Down
10 changes: 8 additions & 2 deletions examples/backends/bls/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,15 @@ 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")

# C++ min standard
# 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 DEFINED CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD LESS ${TRITON_MIN_CXX_STANDARD})
set(BACKEND_CMAKE_CXX_STANDARD ${TRITON_MIN_CXX_STANDARD})
else()
set(BACKEND_CMAKE_CXX_STANDARD ${CMAKE_CXX_STANDARD})
endif()

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
Expand Down Expand Up @@ -103,7 +109,7 @@ target_include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/src
)

target_compile_features(triton-bls-backend PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD})
target_compile_features(triton-bls-backend PRIVATE cxx_std_${BACKEND_CMAKE_CXX_STANDARD})
target_compile_options(
triton-bls-backend PRIVATE
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
Expand Down
10 changes: 8 additions & 2 deletions examples/backends/minimal/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,15 @@ 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")

# C++ min standard
# 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 DEFINED CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD LESS ${TRITON_MIN_CXX_STANDARD})
set(BACKEND_CMAKE_CXX_STANDARD ${TRITON_MIN_CXX_STANDARD})
else()
set(BACKEND_CMAKE_CXX_STANDARD ${CMAKE_CXX_STANDARD})
endif()

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
Expand Down Expand Up @@ -100,7 +106,7 @@ target_include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/src
)

target_compile_features(triton-minimal-backend PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD})
target_compile_features(triton-minimal-backend PRIVATE cxx_std_${BACKEND_CMAKE_CXX_STANDARD})
target_compile_options(
triton-minimal-backend PRIVATE
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
Expand Down
10 changes: 8 additions & 2 deletions examples/backends/recommended/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,15 @@ 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")

# C++ min standard
# 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 DEFINED CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD LESS ${TRITON_MIN_CXX_STANDARD})
set(BACKEND_CMAKE_CXX_STANDARD ${TRITON_MIN_CXX_STANDARD})
else()
set(BACKEND_CMAKE_CXX_STANDARD ${CMAKE_CXX_STANDARD})
endif()

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
Expand Down Expand Up @@ -100,7 +106,7 @@ target_include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/src
)

target_compile_features(triton-recommended-backend PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD})
target_compile_features(triton-recommended-backend PRIVATE cxx_std_${BACKEND_CMAKE_CXX_STANDARD})
target_compile_options(
triton-recommended-backend PRIVATE
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
Expand Down
10 changes: 8 additions & 2 deletions examples/batching_strategies/single_batching/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,15 @@ 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")

# C++ min standard
# 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 DEFINED CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD LESS ${TRITON_MIN_CXX_STANDARD})
set(BACKEND_CMAKE_CXX_STANDARD ${TRITON_MIN_CXX_STANDARD})
else()
set(BACKEND_CMAKE_CXX_STANDARD ${CMAKE_CXX_STANDARD})
endif()

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
Expand Down Expand Up @@ -84,7 +90,7 @@ target_include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/src
)

target_compile_features(triton-single-batching PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD})
target_compile_features(triton-single-batching PRIVATE cxx_std_${BACKEND_CMAKE_CXX_STANDARD})
target_compile_options(
triton-single-batching PRIVATE
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
Expand Down
10 changes: 8 additions & 2 deletions examples/batching_strategies/volume_batching/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,15 @@ 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")

# C++ min standard
# 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 DEFINED CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD LESS ${TRITON_MIN_CXX_STANDARD})
set(BACKEND_CMAKE_CXX_STANDARD ${TRITON_MIN_CXX_STANDARD})
else()
set(BACKEND_CMAKE_CXX_STANDARD ${CMAKE_CXX_STANDARD})
endif()

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
Expand Down Expand Up @@ -84,7 +90,7 @@ target_include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/src
)

target_compile_features(triton-volume-batching PRIVATE cxx_std_${TRITON_MIN_CXX_STANDARD})
target_compile_features(triton-volume-batching PRIVATE cxx_std_${BACKEND_CMAKE_CXX_STANDARD})
target_compile_options(
triton-volume-batching PRIVATE
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
Expand Down

0 comments on commit 01fd43c

Please sign in to comment.