@@ -106,6 +106,12 @@ set(SRCS_NO_H SectorTracker/GPUTPCTrackerDump.cxx
106106 Global /GPUChainTrackingDebugAndProfiling.cxx
107107 Global /GPUChainTrackingIO.cxx)
108108
109+ set (ON_THE_FLY_DIR ${CMAKE_CURRENT_BINARY_DIR} /include_gpu_onthefly)
110+ file (MAKE_DIRECTORY ${ON_THE_FLY_DIR} )
111+ include (cmake/generateGPUParamHeader.cmake)
112+ set (GPU_DEFAULT_PARAMS_HEADER ${ON_THE_FLY_DIR} /GPUDefParametersDefaults.h)
113+ generate_gpu_param_header("AUTO" ${GPU_DEFAULT_PARAMS_HEADER} ) # generate header with default GPU parameters, arch selected by CMake variables
114+
109115set (HDRS_INSTALL
110116 ${HDRS_CINT_O2}
111117 ${HDRS_CINT_DATATYPES}
@@ -134,9 +140,9 @@ set(HDRS_INSTALL
134140 DataTypes/GPUO2ExternalUser.h
135141 Debug/GPUROOTDump.h
136142 Definitions /GPUDefConstantsAndSettings.h
143+ ${GPU_DEFAULT_PARAMS_HEADER}
137144 Definitions /GPUDefParametersWrapper.h
138145 Definitions /GPUDefParametersConstants.h
139- Definitions /GPUDefParametersDefaults.h
140146 Definitions /GPUDef.h
141147 Definitions /GPUDefMacros.h
142148 Definitions /GPULogging.h
@@ -238,8 +244,6 @@ set(TEMPLATE_HEADER_LIST Base/GPUReconstructionKernelList.template.h
238244 Definitions /GPUDefParametersLoad.template.inc)
239245set (GENERATED_HEADERS_LIST "" )
240246
241- set (ON_THE_FLY_DIR ${CMAKE_CURRENT_BINARY_DIR} /include_gpu_onthefly)
242- file (MAKE_DIRECTORY ${ON_THE_FLY_DIR} )
243247foreach (TEMPLATE_FILE ${TEMPLATE_HEADER_LIST} )
244248 get_filename_component (OUTPUT_FILE_NAME ${TEMPLATE_FILE} NAME )
245249 string (REPLACE ".template" "" OUTPUT_FILE_NAME ${OUTPUT_FILE_NAME} )
@@ -285,6 +289,7 @@ set(HDRS_CINT_DATATYPES ${HDRS_CINT_DATATYPES} ${HDRS_TMP})
285289unset (HDRS_TMP)
286290
287291set (INCDIRS
292+ ${ON_THE_FLY_DIR}
288293 ${CMAKE_CURRENT_SOURCE_DIR}
289294 ${CMAKE_CURRENT_SOURCE_DIR} /Definitions
290295 ${CMAKE_CURRENT_SOURCE_DIR} /DataTypes
@@ -301,14 +306,14 @@ set(INCDIRS
301306 ${CMAKE_CURRENT_SOURCE_DIR} /Refit
302307 ${CMAKE_CURRENT_SOURCE_DIR} /Debug
303308 ${CMAKE_CURRENT_SOURCE_DIR} /DataCompression
304- ${CMAKE_CURRENT_SOURCE_DIR} /TPCClusterFinder
305- ${ON_THE_FLY_DIR} )
309+ ${CMAKE_CURRENT_SOURCE_DIR} /TPCClusterFinder)
306310
307311# Main CMake part for O2
308312if (ALIGPU_BUILD_TYPE STREQUAL "O2" )
309313 o2_add_library(GPUDataTypes
310314 TARGETVARNAME targetName
311315 PUBLIC_INCLUDE_DIRECTORIES .
316+ ${ON_THE_FLY_DIR}
312317 Definitions
313318 DataTypes
314319 PUBLIC_LINK_LIBRARIES O2::GPUUtils
@@ -408,16 +413,17 @@ set(GPU_CONST_PARAM_ARCHITECTUES AMPERE TURING VEGA MI100)
408413set (GPU_CONST_PARAM_FILES "" )
409414foreach (GPU_ARCH ${GPU_CONST_PARAM_ARCHITECTUES} )
410415 set (PARAMFILE ${CMAKE_CURRENT_BINARY_DIR} /genGPUArch/gpu_const_param_${GPU_ARCH} .par)
416+ set (GPU_ARCH_PARAMS_HEADER ${CMAKE_CURRENT_BINARY_DIR} /genGPUArch/GPUDefParametersDefaults_${GPU_ARCH} .h)
417+ generate_gpu_param_header(${GPU_ARCH} ${GPU_ARCH_PARAMS_HEADER} )
411418 add_custom_command (
412419 OUTPUT ${PARAMFILE}
413420 COMMAND bash -c
414- "echo -e '#define GPUCA_GPUTYPE_${GPU_ARCH} \\ n#define PARAMETER_FILE \" GPUDefParametersDefaults.h \"\\ ngInterpreter->AddIncludePath(\" ${CMAKE_CURRENT_SOURCE_DIR} /Definitions\" );\\ ngInterpreter->AddIncludePath(\" ${ON_THE_FLY_DIR} \" );\\ n.x ${CMAKE_CURRENT_SOURCE_DIR} /Standalone/tools/dumpGPUDefParam.C(\" ${PARAMFILE} \" )\\ n.q\\ n'"
421+ "echo -e '#define GPUCA_GPUTYPE_${GPU_ARCH} \\ n#define PARAMETER_FILE \" ${GPU_ARCH_PARAMS_HEADER} \"\\ ngInterpreter->AddIncludePath(\" ${CMAKE_CURRENT_SOURCE_DIR} /Definitions\" );\\ ngInterpreter->AddIncludePath(\" ${ON_THE_FLY_DIR} \" );\\ n.x ${CMAKE_CURRENT_SOURCE_DIR} /Standalone/tools/dumpGPUDefParam.C(\" ${PARAMFILE} \" )\\ n.q\\ n'"
415422 | root -l -b > /dev/null
416423 VERBATIM
417424 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /genGPUArch
418425 MAIN_DEPENDENCY Standalone/tools/dumpGPUDefParam.C
419- DEPENDS Definitions /GPUDefParametersDefaults.h
420- ${ON_THE_FLY_DIR} /GPUDefParametersLoadPrepare.h
426+ DEPENDS ${ON_THE_FLY_DIR} /GPUDefParametersLoadPrepare.h
421427 ${ON_THE_FLY_DIR} /GPUDefParametersLoad.inc
422428 COMMENT "Generating GPU parameter set for architecture ${GPU_ARCH} " )
423429 LIST (APPEND GPU_CONST_PARAM_FILES ${PARAMFILE} )
0 commit comments