Skip to content
Merged
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: 0 additions & 2 deletions GPU/Common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2")
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
$<INSTALL_INTERFACE:include/GPU>)

target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2)

# cuda test, only compile if CUDA
if(CUDA_ENABLED)
o2_add_test(GPUsortCUDA NAME test_GPUsortCUDA
Expand Down
54 changes: 30 additions & 24 deletions GPU/GPUTracking/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,27 @@ string(REPLACE ".cxx" ".h" HDRS_TMP "${SRCS_DATATYPES}")
set(HDRS_CINT_DATATYPES ${HDRS_CINT_DATATYPES} ${HDRS_TMP})
unset(HDRS_TMP)

set(INCDIRS
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/Definitions
${CMAKE_CURRENT_SOURCE_DIR}/DataTypes
${CMAKE_CURRENT_SOURCE_DIR}/Base
${CMAKE_CURRENT_SOURCE_DIR}/SectorTracker
${CMAKE_CURRENT_SOURCE_DIR}/TPCConvert
${CMAKE_CURRENT_SOURCE_DIR}/dEdx
${CMAKE_CURRENT_SOURCE_DIR}/ITS
${CMAKE_CURRENT_SOURCE_DIR}/TRDTracking
${CMAKE_CURRENT_SOURCE_DIR}/qa
${CMAKE_CURRENT_SOURCE_DIR}/Global
${CMAKE_CURRENT_SOURCE_DIR}/HLTHeaders
${CMAKE_CURRENT_SOURCE_DIR}/Interface
${CMAKE_CURRENT_SOURCE_DIR}/Merger
${CMAKE_CURRENT_SOURCE_DIR}/Refit
${CMAKE_CURRENT_SOURCE_DIR}/Debug
${CMAKE_CURRENT_SOURCE_DIR}/DataCompression
${CMAKE_CURRENT_SOURCE_DIR}/TPCClusterFinder
${CMAKE_CURRENT_BINARY_DIR}/include_gpu_onthefly)

# Main CMake part for O2
if(ALIGPU_BUILD_TYPE STREQUAL "O2")
o2_add_library(GPUDataTypes
Expand Down Expand Up @@ -297,25 +318,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2")
O2::DetectorsRaw
O2::Steer
O2::ML
PUBLIC_INCLUDE_DIRECTORIES .
Definitions
DataTypes
Base
SectorTracker
TPCConvert
dEdx
ITS
TRDTracking
qa
Global
HLTHeaders
Interface
Merger
Refit
Debug
DataCompression
TPCClusterFinder
${CMAKE_CURRENT_BINARY_DIR}/include_gpu_onthefly
PUBLIC_INCLUDE_DIRECTORIES ${INCDIRS}
SOURCES ${SRCS} ${SRCS_NO_CINT} ${SRCS_NO_H})

target_include_directories(
Expand Down Expand Up @@ -349,15 +352,18 @@ if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
add_library(${MODULE} SHARED ${SRCS} ${SRCS_NO_CINT} ${SRCS_NO_H} ${SRCS_DATATYPES})
set(targetName ${MODULE})
add_library(O2::${MODULE} ALIAS ${MODULE})
install(TARGETS ${MODULE})
install(TARGETS ${targetName})
target_link_libraries(${targetName} PUBLIC TPCFastTransformation)
target_include_directories(${targetName} PUBLIC ${INCDIRS})

if(GPUCA_CONFIG_ROOT)
ROOT_GENERATE_DICTIONARY(G__${MODULE} ${HDRS_CINT_O2} ${HDRS_CINT_DATATYPES} ${HDRS_CINT_O2_ADDITIONAL} GPUTrackingLinkDef_Standalone.h)
target_sources(${MODULE} PRIVATE G__${MODULE})
ROOT_GENERATE_DICTIONARY(G__${targetName} ${HDRS_CINT_O2} ${HDRS_CINT_DATATYPES} ${HDRS_CINT_O2_ADDITIONAL} GPUTrackingLinkDef_Standalone.h MODULE ${targetName})
INSTALL(FILES
${CMAKE_CURRENT_BINARY_DIR}/lib${MODULE}_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/lib${MODULE}.rootmap
${CMAKE_CURRENT_BINARY_DIR}/lib${targetName}_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/lib${targetName}.rootmap
DESTINATION .)
else()
target_compile_definitions(${targetName} PRIVATE GPUCA_NO_ROOT)
endif()
endif()

Expand Down
2 changes: 1 addition & 1 deletion GPU/GPUTracking/Definitions/GPULogging.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
#define GPUCritical(...) GPUWarning(__VA_ARGS__)
#define GPUFatal(string, ...) \
{ \
fprintf(stderr, string "\n", __VA_ARGS__); \
fprintf(stderr, string "\n", ##__VA_ARGS__); \
exit(1); \
}
#endif
Expand Down
2 changes: 1 addition & 1 deletion GPU/GPUTracking/Global/GPUChainTrackingClusterizer.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ void GPUChainTracking::TPCClusterizerEnsureZSOffsets(uint32_t iSector, const CfF
}

if (pagesEndpoint != nPagesExpected) {
GPUFatal("Sector %d, Endpoint %d, Fragment %d: TPC raw page count mismatch: expected %d / buffered %lu", iSector, endpoint, fragment.index, pagesEndpoint, nPagesExpected);
GPUFatal("Sector %d, Endpoint %d, Fragment %d: TPC raw page count mismatch: expected %d / buffered %u", iSector, endpoint, fragment.index, pagesEndpoint, nPagesExpected);
}

if (nAdcDecoded != nAdcsExpected) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,13 +258,13 @@ void GPUChainTracking::SanityCheck()
const auto& ref = trk.getClusterRef();
if (ref.getFirstEntry() > mIOPtrs.nOutputClusRefsTPCO2) {
if (nErrors++ < 1000) {
GPUError("Invalid getFirst() entry in cluster reference: %u > $u", ref.getFirstEntry(), mIOPtrs.nOutputClusRefsTPCO2);
GPUError("Invalid getFirst() entry in cluster reference: %u > %u", ref.getFirstEntry(), mIOPtrs.nOutputClusRefsTPCO2);
continue;
}
}
if (ref.getFirstEntry() + (ref.getEntries() * 3 + 1) / 2 > mIOPtrs.nOutputClusRefsTPCO2) {
if (nErrors++ < 1000) {
GPUError("Invalid getEntries() entry in cluster reference: %u > $u", ref.getFirstEntry() + (ref.getEntries() * 3 + 1) / 2, mIOPtrs.nOutputClusRefsTPCO2);
GPUError("Invalid getEntries() entry in cluster reference: %u > %u", ref.getFirstEntry() + (ref.getEntries() * 3 + 1) / 2, mIOPtrs.nOutputClusRefsTPCO2);
continue;
}
}
Expand Down
2 changes: 2 additions & 0 deletions GPU/GPUTracking/Standalone/Benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ endif()
if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
add_executable(ca ${SRCS})
set(targetName ca)
target_link_libraries(${targetName} PUBLIC GPUTracking)

endif()

target_compile_definitions(${targetName} PUBLIC $<TARGET_PROPERTY:O2::GPUTracking,COMPILE_DEFINITIONS>)
Expand Down
151 changes: 65 additions & 86 deletions GPU/GPUTracking/Standalone/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ if(GPUCA_CONFIG_VC)
find_package(Vc REQUIRED)
else()
set(Vc_FOUND OFF)
add_definitions(-DGPUCA_NO_VC)
endif()

if(GPUCA_BUILD_EVENT_DISPLAY)
Expand Down Expand Up @@ -111,118 +110,98 @@ else()
set(OpenGL_FOUND OFF)
endif()

if(GPUCA_CONFIG_O2)
add_definitions(-DGPUCA_TPC_GEOMETRY_O2)
endif()

if(GPUCA_CONFIG_ROOT)
find_package(ROOT CONFIG REQUIRED)
else()
add_definitions(-DGPUCA_NO_ROOT)
elseif(GPUCA_BUILD_EVENT_DISPLAY)
message(FATAL_ERROR "Cannot build event display without ROOT")
endif()
find_package(Microsoft.GSL REQUIRED HINTS "$ENV{MS_GSL_ROOT}/share/cmake")

if(GPUCA_CONFIG_FMT)
find_package(fmt REQUIRED HINTS $ENV{FMT_ROOT})
else()
add_definitions(-DGPUCA_NO_FMT)
set(fmt_FOUND OFF)
endif()

# Detect GPU Backends
find_package(O2GPU)

# Global include directories
include_directories(${GPU_DIR}/Common
${GPU_DIR}/Utils
${GPU_DIR}/TPCFastTransformation
${GPUTRACKING_DIR}
${GPUTRACKING_DIR}/Debug
${GPUTRACKING_DIR}/Definitions
${GPUTRACKING_DIR}/DataTypes
${GPUTRACKING_DIR}/Base
${GPUTRACKING_DIR}/dEdx
${GPUTRACKING_DIR}/TPCConvert
${GPUTRACKING_DIR}/Global
${GPUTRACKING_DIR}/HLTHeaders
${GPUTRACKING_DIR}/Merger
${GPUTRACKING_DIR}/Refit
${GPUTRACKING_DIR}/qa
${GPUTRACKING_DIR}/SectorTracker
${GPUTRACKING_DIR}/DataCompression
${GPUTRACKING_DIR}/TRDTracking
${GPUTRACKING_DIR}/TPCClusterFinder
${GPUTRACKING_DIR}/ITS
${GPUTRACKING_DIR}/Interface
${O2_DIR}/Common/Field/include
${O2_DIR}/Common/Constants/include
${O2_DIR}/Common/MathUtils/include
${O2_DIR}/Common/Utils/include
${O2_DIR}/DataFormats/common/include
${O2_DIR}/DataFormats/Detectors/Common/include
${O2_DIR}/DataFormats/Detectors/ITSMFT/common/include
${O2_DIR}/DataFormats/Detectors/ITSMFT/ITS/include
${O2_DIR}/DataFormats/Detectors/TOF/include
${O2_DIR}/DataFormats/Detectors/TPC/include
${O2_DIR}/DataFormats/Detectors/TRD/include
${O2_DIR}/DataFormats/Headers/include
${O2_DIR}/DataFormats/MemoryResources/include
${O2_DIR}/DataFormats/Reconstruction/include
${O2_DIR}/DataFormats/Reconstruction/src
${O2_DIR}/DataFormats/simulation/include
${O2_DIR}/Detectors/Base/include
${O2_DIR}/Detectors/Base/src
${O2_DIR}/Detectors/ITSMFT/common/base/include
${O2_DIR}/Detectors/ITSMFT/ITS/base/include
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/include
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU/cuda
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU/hip
${O2_DIR}/Detectors/Raw/include
${O2_DIR}/Detectors/TOF/base/include
${O2_DIR}/Detectors/TPC/base/include
${O2_DIR}/Detectors/TRD/base/include
${O2_DIR}/Detectors/TRD/base/src
${O2_DIR}/Framework/Foundation/3rdparty/include)

# Create main targets
add_subdirectory(../../ GPU)
add_library(standalone_support SHARED ${GPUTRACKING_DIR}/utils/EmptyFile.cxx)
add_library(standalone_support SHARED ${O2_DIR}/Common/Field/src/MagFieldFast.cxx
${O2_DIR}/DataFormats/Detectors/TPC/src/CompressedClusters.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrization.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrizationWithError.cxx
${O2_DIR}/DataFormats/Reconstruction/src/Vertex.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackLTIntegral.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrization.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrizationWithError.cxx
${O2_DIR}/Detectors/TRD/base/src/GeometryBase.cxx
${O2_DIR}/Detectors/Base/src/MatLayerCylSet.cxx
${O2_DIR}/Detectors/Base/src/MatLayerCyl.cxx
${O2_DIR}/Detectors/Base/src/Ray.cxx
${O2_DIR}/Detectors/Base/src/Propagator.cxx
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/Road.cxx)

target_compile_definitions(standalone_support PUBLIC $<TARGET_PROPERTY:O2::GPUTracking,COMPILE_DEFINITIONS>)
target_include_directories(standalone_support PUBLIC $<TARGET_PROPERTY:O2::GPUTracking,INCLUDE_DIRECTORIES>)

target_include_directories(standalone_support PUBLIC
${GPU_DIR}/Common
${GPU_DIR}/Utils
${O2_DIR}/Common/Field/include
${O2_DIR}/Common/Constants/include
${O2_DIR}/Common/MathUtils/include
${O2_DIR}/Common/Utils/include
${O2_DIR}/DataFormats/common/include
${O2_DIR}/DataFormats/Detectors/Common/include
${O2_DIR}/DataFormats/Detectors/ITSMFT/common/include
${O2_DIR}/DataFormats/Detectors/ITSMFT/ITS/include
${O2_DIR}/DataFormats/Detectors/TOF/include
${O2_DIR}/DataFormats/Detectors/TPC/include
${O2_DIR}/DataFormats/Detectors/TRD/include
${O2_DIR}/DataFormats/Headers/include
${O2_DIR}/DataFormats/MemoryResources/include
${O2_DIR}/DataFormats/Reconstruction/include
${O2_DIR}/DataFormats/Reconstruction/src
${O2_DIR}/DataFormats/simulation/include
${O2_DIR}/Detectors/Base/include
${O2_DIR}/Detectors/Base/src
${O2_DIR}/Detectors/ITSMFT/common/base/include
${O2_DIR}/Detectors/ITSMFT/ITS/base/include
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/include
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU/cuda
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/GPU/hip
${O2_DIR}/Detectors/Raw/include
${O2_DIR}/Detectors/TOF/base/include
${O2_DIR}/Detectors/TPC/base/include
${O2_DIR}/Detectors/TRD/base/include
${O2_DIR}/Detectors/TRD/base/src
${O2_DIR}/Framework/Foundation/3rdparty/include)

target_link_libraries(standalone_support PUBLIC#
dl
pthread
Microsoft.GSL::GSL
TPCFastTransformation)
target_link_libraries(GPUTracking PUBLIC TPCFastTransformation standalone_support)
target_link_libraries(ca PUBLIC GPUTracking)

# Add all sources and dependencies to to support based on Config File
target_sources(standalone_support PRIVATE
${O2_DIR}/Common/Field/src/MagFieldFast.cxx
${O2_DIR}/DataFormats/Detectors/TPC/src/CompressedClusters.cxx
${O2_DIR}/DataFormats/simulation/src/MCCompLabel.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrization.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrizationWithError.cxx
${O2_DIR}/DataFormats/Reconstruction/src/Vertex.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackLTIntegral.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrization.cxx
${O2_DIR}/DataFormats/Reconstruction/src/TrackParametrizationWithError.cxx
${O2_DIR}/Detectors/TRD/base/src/GeometryBase.cxx
${O2_DIR}/Detectors/Base/src/MatLayerCylSet.cxx
${O2_DIR}/Detectors/Base/src/MatLayerCyl.cxx
${O2_DIR}/Detectors/Base/src/Ray.cxx
${O2_DIR}/Detectors/Base/src/Propagator.cxx
${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/Road.cxx)
Microsoft.GSL::GSL)

target_link_libraries(GPUTracking PUBLIC standalone_support)
target_link_libraries(TPCFastTransformation PUBLIC standalone_support)

if(GPUCA_CONFIG_O2)
target_compile_definitions(GPUTracking PRIVATE GPUCA_TPC_GEOMETRY_O2)
endif()

if(GPUCA_CONFIG_FMT)
target_link_libraries(standalone_support PUBLIC fmt::fmt)
target_link_libraries(TPCFastTransformation PUBLIC fmt::fmt)
else()
target_compile_definitions(standalone_support PUBLIC GPUCA_NO_FMT)
endif()

if(GPUCA_CONFIG_VC)
target_link_libraries(standalone_support PUBLIC Vc::Vc)
target_link_libraries(TPCFastTransformation PUBLIC Vc::Vc)
else()
target_compile_definitions(standalone_support PUBLIC GPUCA_NO_VC)
endif()

if(GPUCA_CONFIG_ROOT)
Expand Down
2 changes: 2 additions & 0 deletions GPU/TPCFastTransformation/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ endif()

if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
add_library(${MODULE} SHARED ${SRCS})
set(targetName ${MODULE})
target_include_directories(${targetName} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
endif()

install (FILES macro/TPCFastTransformInit.C
Expand Down
2 changes: 0 additions & 2 deletions GPU/Utils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,5 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2")
HEADERS ${HDRS_CINT}
LINKDEF GPUUtilsLinkDef.h)

target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2)

install(FILES ${HDRS_CINT} ${HDRS_INSTALL} DESTINATION include/GPU)
endif()