Skip to content

Commit f5f2c4d

Browse files
committed
add cppcast example
1 parent 993d47d commit f5f2c4d

File tree

6 files changed

+1276
-0
lines changed

6 files changed

+1276
-0
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ else()
1111
add_compile_options(-finput-charset=utf-8 -fexec-charset=utf-8)
1212
endif()
1313
add_compile_options(-Wall -Wextra -Werror=return-type)
14+
add_compile_options(-Wno-unused)
1415
endif()
1516

1617

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
cmake_minimum_required(VERSION 3.12)
2+
3+
set(CMAKE_CXX_STANDARD 20)
4+
set(CMAKE_CUDA_STANDARD 17)
5+
set(CMAKE_CXX_EXTENSIONS OFF)
6+
set(CMAKE_CUDA_EXTENSIONS OFF)
7+
set(CMAKE_CUDA_SEPARABLE_COMPILATION OFF)
8+
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -isystem . --expt-relaxed-constexpr --expt-extended-lambda")
9+
10+
if (NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
11+
# try to set CMAKE_CUDA_ARCHITECTURES to native card version
12+
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.24)
13+
set(CMAKE_CUDA_ARCHITECTURES native)
14+
else()
15+
message(STATUS "Running __nvcc_device_query for CMAKE_CUDA_ARCHITECTURES")
16+
execute_process(COMMAND "__nvcc_device_query"
17+
RESULT_VARIABLE NVCC_DEVICE_QUERY_RESULT
18+
OUTPUT_VARIABLE CMAKE_CUDA_ARCHITECTURES
19+
OUTPUT_STRIP_TRAILING_WHITESPACE)
20+
if (NVCC_DEVICE_QUERY_RESULT EQUAL 0)
21+
message(STATUS "CMAKE_CUDA_ARCHITECTURES set to ${CMAKE_CUDA_ARCHITECTURES}")
22+
else()
23+
message(WARNING "CMAKE_CUDA_ARCHITECTURES not defined and __nvcc_device_query failed.")
24+
unset(CMAKE_CUDA_ARCHITECTURES)
25+
endif()
26+
endif()
27+
endif()
28+
29+
project(cuda_reduce LANGUAGES CXX CUDA)
30+
31+
file(GLOB sources "*.cpp" "*.cu")
32+
add_executable(${PROJECT_NAME} ${sources})
33+
target_link_libraries(${PROJECT_NAME} PRIVATE cusparse cublas)
34+
find_package(fmt REQUIRED)
35+
target_link_libraries(${PROJECT_NAME} PRIVATE fmt::fmt)

0 commit comments

Comments
 (0)