Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Detectors/ITSMFT/ITS/tracking/GPU/cuda/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,5 @@ if(CUDA_ENABLED)

set_property(TARGET ${targetName} PROPERTY CUDA_SEPARABLE_COMPILATION ON)
target_compile_definitions(${targetName} PRIVATE $<TARGET_PROPERTY:O2::ITStracking,COMPILE_DEFINITIONS>)
set_target_cuda_arch(${targetName})
set_target_gpu_arch(${targetName})
endif()
2 changes: 1 addition & 1 deletion GPU/GPUTracking/Base/cuda/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ endif()

# Setting target architecture and adding GPU libraries
target_link_libraries(${targetName} PRIVATE cuda cudart)
set_target_cuda_arch(${targetName})
set_target_gpu_arch(${targetName})
#target_link_options(${targetName} PRIVATE "LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/version_script.ld")
#set_target_properties(${targetName} PROPERTIES LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/version_script.ld)

Expand Down
2 changes: 1 addition & 1 deletion GPU/GPUTracking/Base/hip/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ endif()

# Setting target architecture and adding GPU libraries
target_link_libraries(${targetName} PRIVATE hip::host hip::device hip::hipcub roc::rocthrust)
set_target_hip_arch(${targetName})
set_target_gpu_arch(${targetName})

target_link_libraries(${MODULE}_CXX PRIVATE TBB::tbb)

Expand Down
22 changes: 14 additions & 8 deletions GPU/GPUTracking/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,12 @@ set(SRCS_NO_H SectorTracker/GPUTPCTrackerDump.cxx
Global/GPUChainTrackingDebugAndProfiling.cxx
Global/GPUChainTrackingIO.cxx)

set(ON_THE_FLY_DIR ${CMAKE_CURRENT_BINARY_DIR}/include_gpu_onthefly)
file(MAKE_DIRECTORY ${ON_THE_FLY_DIR})
include(cmake/generateGPUParamHeader.cmake)
set(GPU_DEFAULT_PARAMS_HEADER ${ON_THE_FLY_DIR}/GPUDefParametersDefaults.h)
generate_gpu_param_header("AUTO" ${GPU_DEFAULT_PARAMS_HEADER}) # generate header with default GPU parameters, arch selected by CMake variables

set(HDRS_INSTALL
${HDRS_CINT_O2}
${HDRS_CINT_DATATYPES}
Expand Down Expand Up @@ -134,9 +140,9 @@ set(HDRS_INSTALL
DataTypes/GPUO2ExternalUser.h
Debug/GPUROOTDump.h
Definitions/GPUDefConstantsAndSettings.h
${GPU_DEFAULT_PARAMS_HEADER}
Definitions/GPUDefParametersWrapper.h
Definitions/GPUDefParametersConstants.h
Definitions/GPUDefParametersDefaults.h
Definitions/GPUDef.h
Definitions/GPUDefMacros.h
Definitions/GPULogging.h
Expand Down Expand Up @@ -238,8 +244,6 @@ set(TEMPLATE_HEADER_LIST Base/GPUReconstructionKernelList.template.h
Definitions/GPUDefParametersLoad.template.inc)
set(GENERATED_HEADERS_LIST "")

set(ON_THE_FLY_DIR ${CMAKE_CURRENT_BINARY_DIR}/include_gpu_onthefly)
file(MAKE_DIRECTORY ${ON_THE_FLY_DIR})
foreach(TEMPLATE_FILE ${TEMPLATE_HEADER_LIST})
get_filename_component(OUTPUT_FILE_NAME ${TEMPLATE_FILE} NAME)
string(REPLACE ".template" "" OUTPUT_FILE_NAME ${OUTPUT_FILE_NAME})
Expand Down Expand Up @@ -285,6 +289,7 @@ set(HDRS_CINT_DATATYPES ${HDRS_CINT_DATATYPES} ${HDRS_TMP})
unset(HDRS_TMP)

set(INCDIRS
${ON_THE_FLY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/Definitions
${CMAKE_CURRENT_SOURCE_DIR}/DataTypes
Expand All @@ -301,14 +306,14 @@ set(INCDIRS
${CMAKE_CURRENT_SOURCE_DIR}/Refit
${CMAKE_CURRENT_SOURCE_DIR}/Debug
${CMAKE_CURRENT_SOURCE_DIR}/DataCompression
${CMAKE_CURRENT_SOURCE_DIR}/TPCClusterFinder
${ON_THE_FLY_DIR})
${CMAKE_CURRENT_SOURCE_DIR}/TPCClusterFinder)

# Main CMake part for O2
if(ALIGPU_BUILD_TYPE STREQUAL "O2")
o2_add_library(GPUDataTypes
TARGETVARNAME targetName
PUBLIC_INCLUDE_DIRECTORIES .
${ON_THE_FLY_DIR}
Definitions
DataTypes
PUBLIC_LINK_LIBRARIES O2::GPUUtils
Expand Down Expand Up @@ -408,16 +413,17 @@ set(GPU_CONST_PARAM_ARCHITECTUES AMPERE TURING VEGA MI100)
set(GPU_CONST_PARAM_FILES "")
foreach(GPU_ARCH ${GPU_CONST_PARAM_ARCHITECTUES})
set(PARAMFILE ${CMAKE_CURRENT_BINARY_DIR}/genGPUArch/gpu_const_param_${GPU_ARCH}.par)
set(GPU_ARCH_PARAMS_HEADER ${CMAKE_CURRENT_BINARY_DIR}/genGPUArch/GPUDefParametersDefaults_${GPU_ARCH}.h)
generate_gpu_param_header(${GPU_ARCH} ${GPU_ARCH_PARAMS_HEADER})
add_custom_command(
OUTPUT ${PARAMFILE}
COMMAND bash -c
"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'"
"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'"
| root -l -b > /dev/null
VERBATIM
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/genGPUArch
MAIN_DEPENDENCY Standalone/tools/dumpGPUDefParam.C
DEPENDS Definitions/GPUDefParametersDefaults.h
${ON_THE_FLY_DIR}/GPUDefParametersLoadPrepare.h
DEPENDS ${ON_THE_FLY_DIR}/GPUDefParametersLoadPrepare.h
${ON_THE_FLY_DIR}/GPUDefParametersLoad.inc
COMMENT "Generating GPU parameter set for architecture ${GPU_ARCH}")
LIST(APPEND GPU_CONST_PARAM_FILES ${PARAMFILE})
Expand Down
Loading
Loading