cmake_minimum_required(VERSION 3.22) project(lockfree CUDA CXX) set(CMAKE_CUDA_STANDARD 14) #set(GXX_INCLUDE /usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/include) # from: Coelacanthus add_compile_options( $<$:-Wall> $<$:-pedantic> $<$:-Wextra> ) add_executable(lockfree main.cu) #add_definitions(-DNUM_ITEMS=1048576 -DKEYS=1048576 -DFACTOR=1) if (false) target_compile_options(lockfree PRIVATE $<$: -v >) endif () # from: Peter target_link_libraries(lockfree m stdc++) set_target_properties(lockfree PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(lockfree PROPERTIES CUDA_ARCHITECTURES "75") function(build_different_target is_random build_size step_size) if (is_random) set(middle_name "random") else () set(middle_name "perfect") endif () set(basic_name "lockfree_${middle_name}_${build_size}_${step_size}") message(STATUS "different target: ${basic_name}") add_executable("${basic_name}" "") target_sources("${basic_name}" PRIVATE main.cu ) #add_definitions("${basic_name}" -DBUILD_SIZE=${build_size} -DSTEP_SIZE=${step_size}) target_compile_definitions("${basic_name}" PRIVATE -DSTEP_SIZE=${step_size}) if ("${is_random}") target_compile_definitions("${basic_name}" PRIVATE -DRANDOM_TARGET -DBUILD_SIZE=${build_size}) else () target_compile_definitions("${basic_name}" PRIVATE -DBUILD_SIZE=${build_size} -DSTEP_SIZE=${step_size}) endif () target_link_libraries("${basic_name}" m stdc++) set_target_properties("${basic_name}" PROPERTIES CUDA_SEPARABLE_COMPILATION ON) endfunction() build_different_target(true 1024 8) #build_different_target(false 1048576 2) build_different_target(false 1048576 4) build_different_target(false 1048576 8) build_different_target(true 1048576 4) build_different_target(true 1048576 2) build_different_target(true 1048576 8) add_executable(normal_distribution normal_distribution.cpp) set_target_properties(normal_distribution PROPERTIES LINKER_LANGUAGE CXX) add_executable(normal_distribution_expt3 expt_3.cpp) set_target_properties(normal_distribution_expt3 PROPERTIES LINKER_LANGUAGE CXX) add_executable(normal_distribution_expt0702 expt_0702.cpp) set_target_properties(normal_distribution_expt0702 PROPERTIES LINKER_LANGUAGE CXX) add_executable(work work.cu) target_link_libraries(work m stdc++) set_target_properties(work PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(work PROPERTIES CUDA_ARCHITECTURES "75") add_executable(expt_0722 expt_0722.cpp) set_target_properties(expt_0722 PROPERTIES LINKER_LANGUAGE CXX) add_executable(expt_0726 expt_0726.cpp) set_target_properties(expt_0726 PROPERTIES LINKER_LANGUAGE CXX) add_executable(expt_0729 expt_0729.cu) #set_target_properties(expt_0729 PROPERTIES LINKER_LANGUAGE CXX) target_link_libraries(expt_0729 m stdc++) set_target_properties(expt_0729 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0729 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0729 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0802 expt_0802.cpp) #set_target_properties(expt_0729 PROPERTIES LINKER_LANGUAGE CXX) target_link_libraries(expt_0802 m stdc++) add_executable(expt_0804 expt_0804.cu) target_link_libraries(expt_0804 m stdc++) set_target_properties(expt_0804 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0804 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0804 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0809 expt_0809.cu) target_link_libraries(expt_0809 m stdc++) set_target_properties(expt_0809 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0809 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0809 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(valid_sort_new valid_sort_new.cpp) target_link_libraries(valid_sort_new m stdc++) add_executable(valid_sort valid_sort.cpp) target_link_libraries(valid_sort m stdc++) add_executable(expt_0821 expt_0821.cpp sortlib.h) target_link_libraries(expt_0821 m stdc++) add_executable(expt_0830 expt_0830.cu sortlib.cuh) target_link_libraries(expt_0830 m stdc++) set_target_properties(expt_0830 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0830 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0830 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(normal_skiplist normal_skiplist.cpp) target_link_libraries(normal_skiplist m stdc++) add_executable(expt_0406 expt_0406.cu) target_link_libraries(expt_0406 m stdc++) set_target_properties(expt_0406 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0406 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0406 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0425 expt_0425.cu) target_link_libraries(expt_0425 m stdc++) set_target_properties(expt_0425 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0425 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0425 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0501 expt_0501.cu) target_link_libraries(expt_0501 m stdc++) set_target_properties(expt_0501 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0501 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0501 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0502 expt_0502.cu) target_link_libraries(expt_0502 m stdc++) set_target_properties(expt_0502 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0502 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0502 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0503 expt_0503.cu) target_link_libraries(expt_0503 m stdc++) set_target_properties(expt_0503 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0503 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0503 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0510 expt_0510.cu) target_link_libraries(expt_0510 m stdc++) set_target_properties(expt_0510 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0510 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0510 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0516 expt_0516.cu) target_link_libraries(expt_0516 m stdc++) set_target_properties(expt_0516 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0516 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0516 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0516_2 expt_0516_2.cu) target_link_libraries(expt_0516_2 m stdc++) set_target_properties(expt_0516_2 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0516_2 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0516_2 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0517 expt_0517.cu) target_link_libraries(expt_0517 m stdc++) set_target_properties(expt_0517 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0517 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0517 PROPERTIES LINKER_LANGUAGE CUDA) add_executable(expt_0520 expt_0520.cu skiplistcustom.cuh read_helper.h) target_link_libraries(expt_0520 m stdc++) set_target_properties(expt_0520 PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(expt_0520 PROPERTIES CUDA_ARCHITECTURES "75") set_target_properties(expt_0520 PROPERTIES LINKER_LANGUAGE CUDA)