From 820e9e0c655b0b0174aa6395367edec7728aeb08 Mon Sep 17 00:00:00 2001 From: Christopher Harris Date: Tue, 23 Mar 2021 10:51:44 -0500 Subject: [PATCH] . --- cpp/cmake/Modules/StringifyJITHeaders.cmake | 266 ++++++++++++-------- cpp/cmake/thirdparty/CUDF_GetJitify.cmake | 12 +- cpp/src/binaryop/binaryop.cpp | 12 +- cpp/src/jit/common_headers.hpp | 50 ++-- cpp/src/rolling/rolling_detail.cuh | 7 +- cpp/src/transform/transform.cpp | 4 +- 6 files changed, 212 insertions(+), 139 deletions(-) diff --git a/cpp/cmake/Modules/StringifyJITHeaders.cmake b/cpp/cmake/Modules/StringifyJITHeaders.cmake index 36752d7f715..7f55c10d667 100644 --- a/cpp/cmake/Modules/StringifyJITHeaders.cmake +++ b/cpp/cmake/Modules/StringifyJITHeaders.cmake @@ -21,50 +21,114 @@ add_executable(stringify "${JITIFY_INCLUDE_DIR}/stringify.cpp") execute_process(WORKING_DIRECTORY ${CUDF_GENERATED_INCLUDE_DIR} COMMAND ${CMAKE_COMMAND} -E make_directory - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include ) -# Use `stringify` to convert types.h to c-str for use in JIT code +function(jit_pre) + cmake_parse_arguments(ARG + "" + "SOURCE_DIRECTORY" + "FILES" + ${ARGN} + ) + + # if(NOT ARG_SOURCE_DIRECTORY) + # message(FATAL_ERROR "You must provide a source directory ${ARG_UNPARSED_ARGUMENTS}") + # endif(NOT ARG_SOURCE_DIRECTORY) + + # if(NOT ARG_DESTINATION_DIRECTORY) + # message(FATAL_ERROR "You must provide a destination directory") + # endif(NOT ARG_DESTINATION_DIRECTORY) + + message("Provided sources are:") + foreach(ARG_FILE ${ARG_FILES}) + message("- ${src}") + add_custom_command(WORKING_DIRECTORY ${ARG_SOURCE_DIRECTORY} + DEPENDS stringify + OUTPUT ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/${ARG_FILE}.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${ARG_FILE} > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/${ARG_FILE}.jit + ) + endforeach() +endfunction() + +# jit_pre(SOURCE_DIRECTORY ${CUDF_SOURCE_DIR} +# DESTINATION_DIRECTORY ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf_src +# FILES rolling/rolling_jit_detail.hpp +# ) + +jit_pre(SOURCE_DIRECTORY ${CUDF_SOURCE_DIR}/include + FILES cudf/types.hpp + cudf/utilities/bit.hpp + cudf/wrappers/timestamps.hpp + cudf/fixed_point/fixed_point.hpp + cudf/wrappers/durations.hpp + ) + +# jit_pre(SOURCE_DIRECTORY ${LIBCUDACXX_INCLUDE_DIR} +# FILES cuda/std/climits +# cuda/std/cstddef +# cuda/std/cstdint +# cuda/std/ctime +# cuda/std/limits +# cuda/std/ratio +# cuda/std/type_traits +# cuda/std/version +# cuda/std/detail/__config +# cuda/std/detail/__pragma_pop +# cuda/std/detail/__pragma_push +# cuda/std/detail/libcxx/include/__config +# cuda/std/detail/libcxx/include/__pragma_pop +# cuda/std/detail/libcxx/include/__pragma_pus +# cuda/std/detail/libcxx/include/__undef_macr +# cuda/std/detail/libcxx/include/chrono +# cuda/std/detail/libcxx/include/climits +# cuda/std/detail/libcxx/include/cstddef +# cuda/std/detail/libcxx/include/cstdint +# cuda/std/detail/libcxx/include/ctime +# cuda/std/detail/libcxx/include/limits +# cuda/std/detail/libcxx/include/ratio +# cuda/std/detail/libcxx/include/type_traits +# cuda/std/detail/libcxx/include/version +# ) + add_custom_command(WORKING_DIRECTORY ${CUDF_SOURCE_DIR}/include COMMENT "Stringify headers for use in JIT compiled code" DEPENDS stringify - OUTPUT ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/types.h.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/types.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/bit.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/timestamps.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/fixed_point.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/durations.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/chrono.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/climits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/cstddef.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/cstdint.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/ctime.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/limits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/ratio.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/type_traits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/version.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/__config.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/__pragma_pop.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/__pragma_push.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__config.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__pragma_pop.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__pragma_push.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__undef_macros.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/chrono.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/climits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/cstddef.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/cstdint.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/ctime.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/limits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/ratio.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/type_traits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/version.jit - MAIN_DEPENDENCY ${CUDF_SOURCE_DIR}/include/cudf/types.h - ${CUDF_SOURCE_DIR}/include/cudf/types.hpp - ${CUDF_SOURCE_DIR}/include/cudf/utilities/bit.hpp - ${CUDF_SOURCE_DIR}/include/cudf/wrappers/timestamps.hpp - ${CUDF_SOURCE_DIR}/include/cudf/fixed_point/fixed_point.hpp - ${CUDF_SOURCE_DIR}/include/cudf/wrappers/durations.hpp + OUTPUT # ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/types.hpp.jit + # ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/utilities/bit.hpp.jit + # ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/wrappers/timestamps.hpp.jit + # ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/fixed_point/fixed_point.hpp.jit + # ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/wrappers/durations.hpp.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/chrono.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/climits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/cstddef.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/cstdint.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/ctime.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/limits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/ratio.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/type_traits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/version.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/__config.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/__pragma_pop.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/__pragma_push.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__config.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__pragma_pop.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__pragma_push.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__undef_macros.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/chrono.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/climits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/cstddef.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/cstdint.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/ctime.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/limits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/ratio.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/type_traits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/version.jit + MAIN_DEPENDENCY # ${CUDF_SOURCE_DIR}/include/cudf/types.hpp + # ${CUDF_SOURCE_DIR}/include/cudf/utilities/bit.hpp + # ${CUDF_SOURCE_DIR}/include/cudf/wrappers/timestamps.hpp + # ${CUDF_SOURCE_DIR}/include/cudf/fixed_point/fixed_point.hpp + # ${CUDF_SOURCE_DIR}/include/cudf/wrappers/durations.hpp ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/chrono ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/climits ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/cstddef @@ -92,72 +156,70 @@ add_custom_command(WORKING_DIRECTORY ${CUDF_SOURCE_DIR}/include ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/version # stringified headers are placed underneath the bin include jit directory and end in ".jit" - COMMAND ${CUDF_BINARY_DIR}/stringify cudf/types.h > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/types.h.jit - COMMAND ${CUDF_BINARY_DIR}/stringify cudf/types.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/types.hpp.jit - COMMAND ${CUDF_BINARY_DIR}/stringify cudf/utilities/bit.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/bit.hpp.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ../src/rolling/rolling_jit_detail.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/rolling_jit_detail.hpp.jit - COMMAND ${CUDF_BINARY_DIR}/stringify cudf/wrappers/timestamps.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/timestamps.hpp.jit - COMMAND ${CUDF_BINARY_DIR}/stringify cudf/fixed_point/fixed_point.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/fixed_point.hpp.jit - COMMAND ${CUDF_BINARY_DIR}/stringify cudf/wrappers/durations.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/durations.hpp.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/chrono cuda_std_chrono > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/chrono.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/climits cuda_std_climits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/climits.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/cstddef cuda_std_cstddef > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/cstddef.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/cstdint cuda_std_cstdint > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/cstdint.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/ctime cuda_std_ctime > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/ctime.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/limits cuda_std_limits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/limits.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/ratio cuda_std_ratio > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/ratio.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/type_traits cuda_std_type_traits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/type_traits.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/version cuda_std_version > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/version.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/__config cuda_std_detail___config > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/__config.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/__pragma_pop cuda_std_detail___pragma_pop > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/__pragma_pop.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/__pragma_push cuda_std_detail___pragma_push > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/__pragma_push.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/__config cuda_std_detail_libcxx_include___config > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__config.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/__pragma_pop cuda_std_detail_libcxx_include___pragma_pop > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__pragma_pop.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/__pragma_push cuda_std_detail_libcxx_include___pragma_push > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__pragma_push.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/__undef_macros cuda_std_detail_libcxx_include___undef_macros > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__undef_macros.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/chrono cuda_std_detail_libcxx_include_chrono > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/chrono.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/climits cuda_std_detail_libcxx_include_climits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/climits.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/cstddef cuda_std_detail_libcxx_include_cstddef > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/cstddef.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/cstdint cuda_std_detail_libcxx_include_cstdint > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/cstdint.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/ctime cuda_std_detail_libcxx_include_ctime > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/ctime.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/limits cuda_std_detail_libcxx_include_limits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/limits.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/ratio cuda_std_detail_libcxx_include_ratio > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/ratio.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/type_traits cuda_std_detail_libcxx_include_type_traits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/type_traits.jit - COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/version cuda_std_detail_libcxx_include_version > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/version.jit + # COMMAND ${CUDF_BINARY_DIR}/stringify cudf/types.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/types.hpp.jit + # COMMAND ${CUDF_BINARY_DIR}/stringify cudf/utilities/bit.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/utilities/bit.hpp.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ../src/rolling/rolling_jit_detail.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/rolling_jit_detail.hpp.jit + # COMMAND ${CUDF_BINARY_DIR}/stringify cudf/wrappers/timestamps.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/wrappers/timestamps.hpp.jit + # COMMAND ${CUDF_BINARY_DIR}/stringify cudf/fixed_point/fixed_point.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/fixed_point/fixed_point.hpp.jit + # COMMAND ${CUDF_BINARY_DIR}/stringify cudf/wrappers/durations.hpp > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/wrappers/durations.hpp.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/chrono cuda_std_chrono > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/chrono.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/climits cuda_std_climits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/climits.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/cstddef cuda_std_cstddef > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/cstddef.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/cstdint cuda_std_cstdint > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/cstdint.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/ctime cuda_std_ctime > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/ctime.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/limits cuda_std_limits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/limits.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/ratio cuda_std_ratio > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/ratio.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/type_traits cuda_std_type_traits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/type_traits.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/version cuda_std_version > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/version.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/__config cuda_std_detail___config > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/__config.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/__pragma_pop cuda_std_detail___pragma_pop > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/__pragma_pop.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/__pragma_push cuda_std_detail___pragma_push > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/__pragma_push.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/__config cuda_std_detail_libcxx_include___config > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__config.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/__pragma_pop cuda_std_detail_libcxx_include___pragma_pop > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__pragma_pop.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/__pragma_push cuda_std_detail_libcxx_include___pragma_push > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__pragma_push.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/__undef_macros cuda_std_detail_libcxx_include___undef_macros > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__undef_macros.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/chrono cuda_std_detail_libcxx_include_chrono > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/chrono.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/climits cuda_std_detail_libcxx_include_climits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/climits.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/cstddef cuda_std_detail_libcxx_include_cstddef > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/cstddef.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/cstdint cuda_std_detail_libcxx_include_cstdint > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/cstdint.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/ctime cuda_std_detail_libcxx_include_ctime > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/ctime.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/limits cuda_std_detail_libcxx_include_limits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/limits.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/ratio cuda_std_detail_libcxx_include_ratio > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/ratio.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/type_traits cuda_std_detail_libcxx_include_type_traits > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/type_traits.jit + COMMAND ${CUDF_BINARY_DIR}/stringify ${LIBCUDACXX_INCLUDE_DIR}/cuda/std/detail/libcxx/include/version cuda_std_detail_libcxx_include_version > ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/version.jit ) add_custom_target(stringify_run DEPENDS - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/types.h.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/types.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/bit.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/timestamps.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/fixed_point.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/durations.hpp.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/chrono.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/climits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/cstddef.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/cstdint.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/ctime.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/limits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/ratio.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/type_traits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/version.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/__config.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/__pragma_pop.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/__pragma_push.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__config.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__pragma_pop.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__pragma_push.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/__undef_macros.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/chrono.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/climits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/cstddef.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/cstdint.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/ctime.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/limits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/ratio.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/type_traits.jit - ${CUDF_GENERATED_INCLUDE_DIR}/include/jit/libcudacxx/cuda/std/detail/libcxx/include/version.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/types.hpp.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/utilities/bit.hpp.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/wrappers/timestamps.hpp.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/fixed_point/fixed_point.hpp.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cudf/wrappers/durations.hpp.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/chrono.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/climits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/cstddef.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/cstdint.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/ctime.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/limits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/ratio.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/type_traits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/version.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/__config.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/__pragma_pop.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/__pragma_push.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__config.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__pragma_pop.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__pragma_push.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/__undef_macros.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/chrono.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/climits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/cstddef.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/cstdint.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/ctime.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/limits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/ratio.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/type_traits.jit + ${CUDF_GENERATED_INCLUDE_DIR}/include/jit_pre/cuda/std/detail/libcxx/include/version.jit ) ################################################################################################### diff --git a/cpp/cmake/thirdparty/CUDF_GetJitify.cmake b/cpp/cmake/thirdparty/CUDF_GetJitify.cmake index e041be26d64..b81a5bc4dee 100644 --- a/cpp/cmake/thirdparty/CUDF_GetJitify.cmake +++ b/cpp/cmake/thirdparty/CUDF_GetJitify.cmake @@ -26,4 +26,14 @@ function(find_and_configure_jitify) set(JITIFY_INCLUDE_DIR "${jitify_SOURCE_DIR}" PARENT_SCOPE) endfunction() -find_and_configure_jitify() +function(find_and_configure_jitify_v2) + CPMFindPackage(NAME jitify + VERSION 2.0.0 + GIT_REPOSITORY https://github.com/nvidia/jitify.git + GIT_TAG jitify2 + GIT_SHALLOW TRUE + DOWNLOAD_ONLY TRUE) + set(JITIFY_INCLUDE_DIR "${jitify_SOURCE_DIR}" PARENT_SCOPE) +endfunction() + +find_and_configure_jitify_v2() diff --git a/cpp/src/binaryop/binaryop.cpp b/cpp/src/binaryop/binaryop.cpp index fc697267ca7..15597cffa95 100644 --- a/cpp/src/binaryop/binaryop.cpp +++ b/cpp/src/binaryop/binaryop.cpp @@ -24,13 +24,13 @@ #include #include #include - -#include #include -#include -#include -#include -#include + +#include +#include +#include +#include +#include #include #include diff --git a/cpp/src/jit/common_headers.hpp b/cpp/src/jit/common_headers.hpp index 0f57790afe0..905d78e3e02 100644 --- a/cpp/src/jit/common_headers.hpp +++ b/cpp/src/jit/common_headers.hpp @@ -17,31 +17,31 @@ * limitations under the License. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/cpp/src/rolling/rolling_detail.cuh b/cpp/src/rolling/rolling_detail.cuh index dcc48aafb39..2059792b88d 100644 --- a/cpp/src/rolling/rolling_detail.cuh +++ b/cpp/src/rolling/rolling_detail.cuh @@ -47,9 +47,10 @@ #include #include #include -#include -#include -#include + +#include +#include +#include #include #include diff --git a/cpp/src/transform/transform.cpp b/cpp/src/transform/transform.cpp index 6da0f78687b..84513cdf22b 100644 --- a/cpp/src/transform/transform.cpp +++ b/cpp/src/transform/transform.cpp @@ -29,8 +29,8 @@ #include #include -#include -#include +#include +#include #include