@@ -80,7 +80,8 @@ if(NOT ALIGPU_BUILD_TYPE STREQUAL "ALIROOT")
8080
8181 # build flags to use for RTC
8282 set (GPU_RTC_FLAGS "${CMAKE_HIP_FLAGS} ${CMAKE_HIP_FLAGS_${CMAKE_BUILD_TYPE_UPPER} } -std=c++${CMAKE_HIP_STANDARD} " )
83- separate_arguments (GPU_RTC_FLAGS)
83+ set (GPU_RTC_FLAGS_SEPARATED "${GPU_RTC_FLAGS} " )
84+ separate_arguments (GPU_RTC_FLAGS_SEPARATED)
8485
8586 # convenience variables
8687 if (ALIGPU_BUILD_TYPE STREQUAL "Standalone" )
@@ -106,7 +107,7 @@ if(NOT ALIGPU_BUILD_TYPE STREQUAL "ALIROOT")
106107
107108 add_custom_command (
108109 OUTPUT ${GPU_RTC_BIN} .command
109- COMMAND echo -n "${hip_HIPCC_EXECUTABLE} ${GPU_RTC_FLAGS } ${GPU_RTC_DEFINES} --genco" > ${GPU_RTC_BIN} .command
110+ COMMAND echo -n "${hip_HIPCC_EXECUTABLE} ${GPU_RTC_FLAGS_SEPARATED } ${GPU_RTC_DEFINES} --genco" > ${GPU_RTC_BIN} .command
110111 COMMAND_EXPAND_LISTS
111112 VERBATIM
112113 COMMENT "Preparing HIP RTC command file ${GPU_RTC_BIN} .command"
@@ -206,19 +207,23 @@ if(NOT DEFINED GPUCA_HIP_COMPILE_MODE)
206207 if (ALIGPU_BUILD_TYPE STREQUAL "ALIROOT" )
207208 set (GPUCA_HIP_COMPILE_MODE "onefile" )
208209 else ()
209- set (GPUCA_HIP_COMPILE_MODE "onefile " )
210+ set (GPUCA_HIP_COMPILE_MODE "perkernel " )
210211 endif ()
211212endif ()
212213if (GPUCA_HIP_COMPILE_MODE STREQUAL "onefile" )
213214 target_compile_definitions (${targetName} PRIVATE GPUCA_KERNEL_COMPILE_MODE=0)
214215elseif (GPUCA_HIP_COMPILE_MODE STREQUAL "perkernel" )
215- add_library (GPUTrackingHIPKernels OBJECT $<JOIN:$<LIST:TRANSFORM,$<LIST:TRANSFORM,$<LIST:TRANSFORM,$<TARGET_PROPERTY:O2_GPU_KERNELS,O2_GPU_KERNEL_NAMES>,REPLACE,[^A-Za-z0-9]+,_>,PREPEND,${O2_GPU_KERNEL_WRAPPER_FOLDER} /krnl_>,APPEND ,.cu>, >)
216- set_property (TARGET GPUTrackingHIPKernels PROPERTY HIP_FATBIN_COMPILATION ON )
216+ #add_library(GPUTrackingHIPKernels OBJECT $<JOIN:$<LIST:TRANSFORM,$<LIST:TRANSFORM,$<LIST:TRANSFORM,$<TARGET_PROPERTY:O2_GPU_KERNELS,O2_GPU_KERNEL_NAMES>,REPLACE,[^A-Za-z0-9]+,_>,PREPEND,${O2_GPU_KERNEL_WRAPPER_FOLDER}/krnl_>,APPEND,.cu>, >)
217+ #set_property(TARGET GPUTrackingHIPKernels PROPERTY HIP_FATBIN_COMPILATION ON)
218+ add_subdirectory (per_kernel)
217219 target_compile_options (GPUTrackingHIPKernels PRIVATE $<$<COMPILE_LANGUAGE:HIP>:-fno-gpu-rdc>)
218220 target_link_options (GPUTrackingHIPKernels PRIVATE $<$<COMPILE_LANGUAGE:HIP>:-fno-gpu-rdc>)
219221 target_compile_definitions (${targetName} PRIVATE GPUCA_KERNEL_COMPILE_MODE=1)
220222 target_compile_definitions (GPUTrackingHIPKernels PRIVATE $<TARGET_PROPERTY:${targetName} ,COMPILE_DEFINITIONS >)
221223 target_include_directories (GPUTrackingHIPKernels PRIVATE $<TARGET_PROPERTY:${targetName} ,INCLUDE_DIRECTORIES >)
224+ if (NOT DEFINED GPUCA_HIP_HIPIFY_FROM_CUDA OR "${GPUCA_HIP_HIPIFY_FROM_CUDA} " )
225+ add_dependencies (GPUTrackingHIPKernels ${MODULE} _HIPIFIED)
226+ endif ()
222227 file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /hip_kernel_module_fatbin)
223228 add_custom_command (
224229 OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /GPUTrackingHIPKernelModules.o
0 commit comments