From 0d08748ffac55268bb38848eac6211542355544e Mon Sep 17 00:00:00 2001 From: shawnz Date: Wed, 28 May 2025 11:42:49 +0800 Subject: [PATCH] Bug 5305842: Update CMakeLists.txt for cdp samples for sbsa CUDA Toolkit supporting on aarch64-linux platforms --- .../cdpAdvancedQuicksort/CMakeLists.txt | 11 ++++------- .../cdpBezierTessellation/CMakeLists.txt | 11 ++++------- Samples/3_CUDA_Features/cdpQuadtree/CMakeLists.txt | 11 ++++------- Samples/3_CUDA_Features/cdpSimplePrint/CMakeLists.txt | 11 ++++------- .../3_CUDA_Features/cdpSimpleQuicksort/CMakeLists.txt | 11 ++++------- 5 files changed, 20 insertions(+), 35 deletions(-) diff --git a/Samples/3_CUDA_Features/cdpAdvancedQuicksort/CMakeLists.txt b/Samples/3_CUDA_Features/cdpAdvancedQuicksort/CMakeLists.txt index e52a4a26..4d4784b0 100644 --- a/Samples/3_CUDA_Features/cdpAdvancedQuicksort/CMakeLists.txt +++ b/Samples/3_CUDA_Features/cdpAdvancedQuicksort/CMakeLists.txt @@ -8,13 +8,10 @@ find_package(CUDAToolkit REQUIRED) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") - # Need to differentiate Tegra_aarch64 and other aarch64 systems(sbsa_aarch64) as they have different CUDA_ARCHITECTURES list - if(${BUILD_TEGRA}) - set(CMAKE_CUDA_ARCHITECTURES 87 110) - else() - set(CMAKE_CUDA_ARCHITECTURES 75 80 86 90) - endif() +# The aarch64/sbsa_aarch64 CUDA toolkit are support on Tegra since 13.0, so need to check which version of the toolkit is installed +string(FIND "${CUDAToolkit_INCLUDE_DIRS}" "aarch64-linux" _aarch64_ctk) +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT _aarch64_ctk EQUAL -1) + set(CMAKE_CUDA_ARCHITECTURES 87 110) else() set(CMAKE_CUDA_ARCHITECTURES 75 80 86 89 90 100 110 120) endif() diff --git a/Samples/3_CUDA_Features/cdpBezierTessellation/CMakeLists.txt b/Samples/3_CUDA_Features/cdpBezierTessellation/CMakeLists.txt index f49eec53..c5eb4703 100644 --- a/Samples/3_CUDA_Features/cdpBezierTessellation/CMakeLists.txt +++ b/Samples/3_CUDA_Features/cdpBezierTessellation/CMakeLists.txt @@ -8,13 +8,10 @@ find_package(CUDAToolkit REQUIRED) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") - # Need to differentiate Tegra_aarch64 and other aarch64 systems(sbsa_aarch64) as they have different CUDA_ARCHITECTURES list - if(${BUILD_TEGRA}) - set(CMAKE_CUDA_ARCHITECTURES 87 110) - else() - set(CMAKE_CUDA_ARCHITECTURES 75 80 86 90) - endif() +# The aarch64/sbsa_aarch64 CUDA toolkit are support on Tegra since 13.0, so need to check which version of the toolkit is installed +string(FIND "${CUDAToolkit_INCLUDE_DIRS}" "aarch64-linux" _aarch64_ctk) +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT _aarch64_ctk EQUAL -1) + set(CMAKE_CUDA_ARCHITECTURES 87 110) else() set(CMAKE_CUDA_ARCHITECTURES 75 80 86 89 90 100 110 120) endif() diff --git a/Samples/3_CUDA_Features/cdpQuadtree/CMakeLists.txt b/Samples/3_CUDA_Features/cdpQuadtree/CMakeLists.txt index abfc5711..a3fd2eba 100644 --- a/Samples/3_CUDA_Features/cdpQuadtree/CMakeLists.txt +++ b/Samples/3_CUDA_Features/cdpQuadtree/CMakeLists.txt @@ -8,13 +8,10 @@ find_package(CUDAToolkit REQUIRED) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") - # Need to differentiate Tegra_aarch64 and other aarch64 systems(sbsa_aarch64) as they have different CUDA_ARCHITECTURES list - if(${BUILD_TEGRA}) - set(CMAKE_CUDA_ARCHITECTURES 87 110) - else() - set(CMAKE_CUDA_ARCHITECTURES 75 80 86 90) - endif() +# The aarch64/sbsa_aarch64 CUDA toolkit are support on Tegra since 13.0, so need to check which version of the toolkit is installed +string(FIND "${CUDAToolkit_INCLUDE_DIRS}" "aarch64-linux" _aarch64_ctk) +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT _aarch64_ctk EQUAL -1) + set(CMAKE_CUDA_ARCHITECTURES 87 110) else() set(CMAKE_CUDA_ARCHITECTURES 75 80 86 89 90 100 110 120) endif() diff --git a/Samples/3_CUDA_Features/cdpSimplePrint/CMakeLists.txt b/Samples/3_CUDA_Features/cdpSimplePrint/CMakeLists.txt index 7c4d11fa..e58ee19a 100644 --- a/Samples/3_CUDA_Features/cdpSimplePrint/CMakeLists.txt +++ b/Samples/3_CUDA_Features/cdpSimplePrint/CMakeLists.txt @@ -8,13 +8,10 @@ find_package(CUDAToolkit REQUIRED) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") - # Need to differentiate Tegra_aarch64 and other aarch64 systems(sbsa_aarch64) as they have different CUDA_ARCHITECTURES list - if(${BUILD_TEGRA}) - set(CMAKE_CUDA_ARCHITECTURES 87 110) - else() - set(CMAKE_CUDA_ARCHITECTURES 75 80 86 90) - endif() +# The aarch64/sbsa_aarch64 CUDA toolkit are support on Tegra since 13.0, so need to check which version of the toolkit is installed +string(FIND "${CUDAToolkit_INCLUDE_DIRS}" "aarch64-linux" _aarch64_ctk) +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT _aarch64_ctk EQUAL -1) + set(CMAKE_CUDA_ARCHITECTURES 87 110) else() set(CMAKE_CUDA_ARCHITECTURES 75 80 86 89 90 100 110 120) endif() diff --git a/Samples/3_CUDA_Features/cdpSimpleQuicksort/CMakeLists.txt b/Samples/3_CUDA_Features/cdpSimpleQuicksort/CMakeLists.txt index fa2ab6a8..bbb61864 100644 --- a/Samples/3_CUDA_Features/cdpSimpleQuicksort/CMakeLists.txt +++ b/Samples/3_CUDA_Features/cdpSimpleQuicksort/CMakeLists.txt @@ -8,13 +8,10 @@ find_package(CUDAToolkit REQUIRED) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") - # Need to differentiate Tegra_aarch64 and other aarch64 systems(sbsa_aarch64) as they have different CUDA_ARCHITECTURES list - if(${BUILD_TEGRA}) - set(CMAKE_CUDA_ARCHITECTURES 87 110) - else() - set(CMAKE_CUDA_ARCHITECTURES 75 80 86 90) - endif() +# The aarch64/sbsa_aarch64 CUDA toolkit are support on Tegra since 13.0, so need to check which version of the toolkit is installed +string(FIND "${CUDAToolkit_INCLUDE_DIRS}" "aarch64-linux" _aarch64_ctk) +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT _aarch64_ctk EQUAL -1) + set(CMAKE_CUDA_ARCHITECTURES 87 110) else() set(CMAKE_CUDA_ARCHITECTURES 75 80 86 89 90 100 110 120) endif()