mirror of
https://github.com/pseXperiments/icicle.git
synced 2026-01-09 23:48:10 -05:00
## Describe the changes Icicle examples: Concurrent Data Transfer and NTT Computation This PR introduces a Best Practice series of examples in c++. Specifically, the example shows how to concurrently transfer data to/from device and execute NTT ## Linked Issues Resolves #
24 lines
863 B
CMake
24 lines
863 B
CMake
cmake_minimum_required(VERSION 3.18)
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CUDA_STANDARD 17)
|
|
set(CMAKE_CUDA_STANDARD_REQUIRED TRUE)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
|
if (${CMAKE_VERSION} VERSION_LESS "3.24.0")
|
|
set(CMAKE_CUDA_ARCHITECTURES ${CUDA_ARCH})
|
|
else()
|
|
set(CMAKE_CUDA_ARCHITECTURES native) # on 3.24+, on earlier it is ignored, and the target is not passed
|
|
endif ()
|
|
project(example LANGUAGES CUDA CXX)
|
|
|
|
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --expt-relaxed-constexpr")
|
|
set(CMAKE_CUDA_FLAGS_RELEASE "")
|
|
set(CMAKE_CUDA_FLAGS_DEBUG "${CMAKE_CUDA_FLAGS_DEBUG} -g -G -O0")
|
|
|
|
add_executable(
|
|
example
|
|
example.cu
|
|
)
|
|
target_include_directories(example PRIVATE "../../../icicle/include")
|
|
target_link_libraries(example ${CMAKE_SOURCE_DIR}/build/icicle/lib/libingo_field_bn254.a)
|
|
set_target_properties(example PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
|