Skip to content

Commit 993d47d

Browse files
committed
add cuda reverse, intro block and warp
1 parent 7e0cdf8 commit 993d47d

File tree

4 files changed

+1300
-0
lines changed

4 files changed

+1300
-0
lines changed

cudaguide/5_reverse/CMakeLists.txt

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_reverse 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)