From 33bb2aaa6725e70935d8f65e0e8e10f2fe9a48f7 Mon Sep 17 00:00:00 2001 From: David Rohr Date: Thu, 12 Jun 2025 07:54:40 +0200 Subject: [PATCH 1/5] GPU: Remove obsolete GPUCA_TPC_RAW_PROPAGATE_PAD_ROW_TIME --- GPU/GPUTracking/DataTypes/GPUTPCGMMergedTrackHit.h | 4 ---- GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h | 1 - GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx | 4 ---- GPU/GPUTracking/SectorTracker/GPUTPCDef.h | 3 --- GPU/GPUTracking/TPCConvert/GPUTPCConvertKernel.cxx | 4 ---- 5 files changed, 16 deletions(-) diff --git a/GPU/GPUTracking/DataTypes/GPUTPCGMMergedTrackHit.h b/GPU/GPUTracking/DataTypes/GPUTPCGMMergedTrackHit.h index 4ddd70efb5d1c..a5f0c1a55e2b9 100644 --- a/GPU/GPUTracking/DataTypes/GPUTPCGMMergedTrackHit.h +++ b/GPU/GPUTracking/DataTypes/GPUTPCGMMergedTrackHit.h @@ -41,10 +41,6 @@ struct GPUTPCGMMergedTrackHit { struct GPUTPCGMMergedTrackHitXYZ { float x, y, z; uint16_t amp; -#ifdef GPUCA_TPC_RAW_PROPAGATE_PAD_ROW_TIME - float pad; - float time; -#endif }; } // namespace o2::gpu diff --git a/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h b/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h index 48218dd7859e6..9a8b9b8536fb0 100644 --- a/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h +++ b/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h @@ -68,7 +68,6 @@ //#define GPUCA_MERGER_BY_MC_LABEL // Use MC labels for TPC track merging - for performance studies // TODO: Cleanup unneeded options //#define GPUCA_FULL_CLUSTERDATA // Store all cluster information in the cluster data, also those not needed for tracking. -//#define GPUCA_TPC_RAW_PROPAGATE_PAD_ROW_TIME // Propagate Pad, Row, Time cluster information to GM //#define GPUCA_GM_USE_FULL_FIELD // Use offline magnetic field during GMPropagator prolongation // clang-format on diff --git a/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx b/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx index ab35e7f9a3c36..338ecae4f9b95 100644 --- a/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx +++ b/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx @@ -1727,10 +1727,6 @@ GPUd() void GPUTPCGMMerger::CollectMergedTracks(int32_t nBlocks, int32_t nThread clXYZ[i].y = c.y; clXYZ[i].z = c.z; clXYZ[i].amp = c.amp; -#ifdef GPUCA_TPC_RAW_PROPAGATE_PAD_ROW_TIME - clXYZ[i].pad = c.mPad; - clXYZ[i].time = c.mTime; -#endif state = c.flags; } else { const ClusterNative& c = GetConstantMem()->ioPtrs.clustersNative->clustersLinear[trackClusters[i].id]; diff --git a/GPU/GPUTracking/SectorTracker/GPUTPCDef.h b/GPU/GPUTracking/SectorTracker/GPUTPCDef.h index 84ea8e836007c..04042bb4a6632 100644 --- a/GPU/GPUTracking/SectorTracker/GPUTPCDef.h +++ b/GPU/GPUTracking/SectorTracker/GPUTPCDef.h @@ -33,9 +33,6 @@ typedef uint32_t cahit; struct cahit2 { cahit x, y; }; } // namespace o2::GPU -#ifdef GPUCA_TPC_RAW_PROPAGATE_PAD_ROW_TIME // Needs full clusterdata - #define GPUCA_FULL_CLUSTERDATA -#endif #if defined(GPUCA_STANDALONE) || defined(GPUCA_GPUCODE) // No support for Full Field Propagator or Statistical errors #ifdef GPUCA_GM_USE_FULL_FIELD diff --git a/GPU/GPUTracking/TPCConvert/GPUTPCConvertKernel.cxx b/GPU/GPUTracking/TPCConvert/GPUTPCConvertKernel.cxx index e17bfc1dff025..806a06dfbbe02 100644 --- a/GPU/GPUTracking/TPCConvert/GPUTPCConvertKernel.cxx +++ b/GPU/GPUTracking/TPCConvert/GPUTPCConvertKernel.cxx @@ -44,9 +44,5 @@ GPUdii() void GPUTPCConvertKernel::Thread<0>(int32_t nBlocks, int32_t nThreads, clout.amp = clin.qTot; clout.flags = clin.getFlags(); clout.id = idOffset + k; -#ifdef GPUCA_TPC_RAW_PROPAGATE_PAD_ROW_TIME - clout.pad = clin.getPad(); - clout.time = clin.getTime(); -#endif } } From 5d54dda5cd2572740b82b1f603e4d69abefb097d Mon Sep 17 00:00:00 2001 From: David Rohr Date: Thu, 12 Jun 2025 07:55:07 +0200 Subject: [PATCH 2/5] GPU: Remove obsolete GPUCA_FULL_CLUSTERDATA --- GPU/GPUTracking/Definitions/GPUDef.h | 6 +----- GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h | 1 - GPU/GPUTracking/SectorTracker/GPUTPCClusterData.h | 7 ------- 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/GPU/GPUTracking/Definitions/GPUDef.h b/GPU/GPUTracking/Definitions/GPUDef.h index 69723813d384f..e1b34af55d62d 100644 --- a/GPU/GPUTracking/Definitions/GPUDef.h +++ b/GPU/GPUTracking/Definitions/GPUDef.h @@ -34,11 +34,7 @@ #define GPUPtr2(a, b) b #endif -#ifdef GPUCA_FULL_CLUSTERDATA - #define GPUCA_EVDUMP_FILE "event_full" -#else - #define GPUCA_EVDUMP_FILE "event" -#endif +#define GPUCA_EVDUMP_FILE "event_full" #ifdef GPUCA_GPUCODE #define CA_MAKE_SHARED_REF(vartype, varname, varglobal, varshared) const GPUsharedref() vartype& __restrict__ varname = varshared; diff --git a/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h b/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h index 9a8b9b8536fb0..f33dfad02e7e5 100644 --- a/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h +++ b/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h @@ -67,7 +67,6 @@ #endif //#define GPUCA_MERGER_BY_MC_LABEL // Use MC labels for TPC track merging - for performance studies // TODO: Cleanup unneeded options -//#define GPUCA_FULL_CLUSTERDATA // Store all cluster information in the cluster data, also those not needed for tracking. //#define GPUCA_GM_USE_FULL_FIELD // Use offline magnetic field during GMPropagator prolongation // clang-format on diff --git a/GPU/GPUTracking/SectorTracker/GPUTPCClusterData.h b/GPU/GPUTracking/SectorTracker/GPUTPCClusterData.h index cf269a27bd6a5..fbaeeb294df88 100644 --- a/GPU/GPUTracking/SectorTracker/GPUTPCClusterData.h +++ b/GPU/GPUTracking/SectorTracker/GPUTPCClusterData.h @@ -27,13 +27,6 @@ struct GPUTPCClusterData { float y; float z; float amp; -#ifdef GPUCA_FULL_CLUSTERDATA - float pad; - float time; - float ampMax; - float sigmaPad2; - float sigmaTime2; -#endif }; } // namespace o2::gpu From e75bac177e063461c8c17c207a716ae54e76fed5 Mon Sep 17 00:00:00 2001 From: David Rohr Date: Thu, 12 Jun 2025 07:56:07 +0200 Subject: [PATCH 3/5] GPU: Remove obsolete GPUCA_GM_USE_FULL_FIELD --- .../Definitions/GPUDefConstantsAndSettings.h | 1 - GPU/GPUTracking/Merger/GPUTPCGMPropagator.cxx | 33 ------------------- GPU/GPUTracking/SectorTracker/GPUTPCDef.h | 7 ---- 3 files changed, 41 deletions(-) diff --git a/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h b/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h index f33dfad02e7e5..46988208256fc 100644 --- a/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h +++ b/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h @@ -67,7 +67,6 @@ #endif //#define GPUCA_MERGER_BY_MC_LABEL // Use MC labels for TPC track merging - for performance studies // TODO: Cleanup unneeded options -//#define GPUCA_GM_USE_FULL_FIELD // Use offline magnetic field during GMPropagator prolongation // clang-format on diff --git a/GPU/GPUTracking/Merger/GPUTPCGMPropagator.cxx b/GPU/GPUTracking/Merger/GPUTPCGMPropagator.cxx index c0dd6cfbcf918..2d612254ba001 100644 --- a/GPU/GPUTracking/Merger/GPUTPCGMPropagator.cxx +++ b/GPU/GPUTracking/Merger/GPUTPCGMPropagator.cxx @@ -22,11 +22,6 @@ #include "GPUDebugStreamer.h" #include "GPUTPCGMMerger.h" -#if defined(GPUCA_GM_USE_FULL_FIELD) -#include "AliTracker.h" -#include "AliMagF.h" -#endif - using namespace o2::gpu; GPUd() void GPUTPCGMPropagator::GetBxByBzBase(float cosAlpha, float sinAlpha, float X, float Y, float Z, float B[3]) const @@ -36,24 +31,6 @@ GPUd() void GPUTPCGMPropagator::GetBxByBzBase(float cosAlpha, float sinAlpha, fl float gx = getGlobalX(cosAlpha, sinAlpha, X, Y); float gy = getGlobalY(cosAlpha, sinAlpha, X, Y); -#if defined(GPUCA_GM_USE_FULL_FIELD) - const float kCLight = gpu_common_constants::kCLight; - double r[3] = {gx, gy, Z}; - double bb[3]; - AliTracker::GetBxByBz(r, bb); - bb[0] *= kCLight; - bb[1] *= kCLight; - bb[2] *= kCLight; -/* - cout<<"AliTracker::GetBz()= "<GetField(); - cout<<"Fast field = "<<(void*) fld->GetFastField()<GetMapType() ; - cout<<"Field type: "<GetField(gx, gy, Z, bb); } -#endif - // rotate field to local coordinates B[0] = bb[0] * cosAlpha + bb[1] * sinAlpha; @@ -81,13 +56,6 @@ GPUd() float GPUTPCGMPropagator::GetBzBase(float cosAlpha, float sinAlpha, float float gx = getGlobalX(cosAlpha, sinAlpha, X, Y); float gy = getGlobalY(cosAlpha, sinAlpha, X, Y); -#if defined(GPUCA_GM_USE_FULL_FIELD) - const float kCLight = gpu_common_constants::kCLight; - double r[3] = {gx, gy, Z}; - double bb[3]; - AliTracker::GetBxByBz(r, bb); - return bb[2] * kCLight; -#else switch (mFieldRegion) { case ITS: return mField->GetFieldItsBz(gx, gy, Z); @@ -97,7 +65,6 @@ GPUd() float GPUTPCGMPropagator::GetBzBase(float cosAlpha, float sinAlpha, float default: return mField->GetFieldBz(gx, gy, Z); } -#endif } GPUd() int32_t GPUTPCGMPropagator::RotateToAlpha(float newAlpha) diff --git a/GPU/GPUTracking/SectorTracker/GPUTPCDef.h b/GPU/GPUTracking/SectorTracker/GPUTPCDef.h index 04042bb4a6632..e64937eec0ede 100644 --- a/GPU/GPUTracking/SectorTracker/GPUTPCDef.h +++ b/GPU/GPUTracking/SectorTracker/GPUTPCDef.h @@ -33,12 +33,5 @@ typedef uint32_t cahit; struct cahit2 { cahit x, y; }; } // namespace o2::GPU - -#if defined(GPUCA_STANDALONE) || defined(GPUCA_GPUCODE) // No support for Full Field Propagator or Statistical errors - #ifdef GPUCA_GM_USE_FULL_FIELD - #undef GPUCA_GM_USE_FULL_FIELD - #endif -#endif - #endif //GPUDTPCEF_H // clang-format on From bb9c4e992b63779e5484feb35701f59c4a5dd3db Mon Sep 17 00:00:00 2001 From: David Rohr Date: Thu, 12 Jun 2025 07:59:33 +0200 Subject: [PATCH 4/5] GPU: Delete obsolete class GPUTPCSectorOutCluster --- GPU/GPUTracking/Base/GPUReconstructionCPU.cxx | 1 - GPU/GPUTracking/CMakeLists.txt | 1 - GPU/GPUTracking/Global/GPUChainTracking.cxx | 1 - GPU/GPUTracking/Global/GPUChainTrackingIO.cxx | 1 - .../SectorTracker/GPUTPCSectorOutCluster.h | 66 ------------------- GPU/GPUTracking/SectorTracker/GPUTPCTrack.h | 6 -- 6 files changed, 76 deletions(-) delete mode 100644 GPU/GPUTracking/SectorTracker/GPUTPCSectorOutCluster.h diff --git a/GPU/GPUTracking/Base/GPUReconstructionCPU.cxx b/GPU/GPUTracking/Base/GPUReconstructionCPU.cxx index 2d1061616d907..d29fc09f32f63 100644 --- a/GPU/GPUTracking/Base/GPUReconstructionCPU.cxx +++ b/GPU/GPUTracking/Base/GPUReconstructionCPU.cxx @@ -18,7 +18,6 @@ #include "GPUChain.h" #include "GPUDefParametersRuntime.h" #include "GPUTPCClusterData.h" -#include "GPUTPCSectorOutCluster.h" #include "GPUTPCGMMergedTrack.h" #include "GPUTPCGMMergedTrackHit.h" #include "GPUTRDTrackletWord.h" diff --git a/GPU/GPUTracking/CMakeLists.txt b/GPU/GPUTracking/CMakeLists.txt index 67db16ffe9607..87b202ec607ae 100644 --- a/GPU/GPUTracking/CMakeLists.txt +++ b/GPU/GPUTracking/CMakeLists.txt @@ -155,7 +155,6 @@ set(HDRS_INSTALL SectorTracker/GPUTPCHit.h SectorTracker/GPUTPCHitId.h SectorTracker/GPUTPCMCInfo.h - SectorTracker/GPUTPCSectorOutCluster.h SectorTracker/GPUTPCTracklet.h SectorTracker/GPUTPCTrackLinearisation.h TPCConvert/GPUTPCConvertImpl.h diff --git a/GPU/GPUTracking/Global/GPUChainTracking.cxx b/GPU/GPUTracking/Global/GPUChainTracking.cxx index db84050772312..423f0b782d095 100644 --- a/GPU/GPUTracking/Global/GPUChainTracking.cxx +++ b/GPU/GPUTracking/Global/GPUChainTracking.cxx @@ -22,7 +22,6 @@ #include "GPUReconstructionIO.h" #include "GPUChainTrackingDefs.h" #include "GPUTPCClusterData.h" -#include "GPUTPCSectorOutCluster.h" #include "GPUTPCGMMergedTrack.h" #include "GPUTPCGMMergedTrackHit.h" #include "GPUTPCTrack.h" diff --git a/GPU/GPUTracking/Global/GPUChainTrackingIO.cxx b/GPU/GPUTracking/Global/GPUChainTrackingIO.cxx index 5a141cd08eb65..dd11e9989f684 100644 --- a/GPU/GPUTracking/Global/GPUChainTrackingIO.cxx +++ b/GPU/GPUTracking/Global/GPUChainTrackingIO.cxx @@ -15,7 +15,6 @@ #include "GPUChainTracking.h" #include "GPUReconstructionIO.h" #include "GPUTPCClusterData.h" -#include "GPUTPCSectorOutCluster.h" #include "GPUTPCGMMergedTrack.h" #include "GPUTPCGMMergedTrackHit.h" #include "GPUTPCTrack.h" diff --git a/GPU/GPUTracking/SectorTracker/GPUTPCSectorOutCluster.h b/GPU/GPUTracking/SectorTracker/GPUTPCSectorOutCluster.h deleted file mode 100644 index 2c62a2ca184b2..0000000000000 --- a/GPU/GPUTracking/SectorTracker/GPUTPCSectorOutCluster.h +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019-2020 CERN and copyright holders of ALICE O2. -// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. -// All rights not expressly granted are reserved. -// -// This software is distributed under the terms of the GNU General Public -// License v3 (GPL Version 3), copied verbatim in the file "COPYING". -// -// In applying this license CERN does not waive the privileges and immunities -// granted to it by virtue of its status as an Intergovernmental Organization -// or submit itself to any jurisdiction. - -/// \file GPUTPCSectorOutCluster.h -/// \author Sergey Gorbunov, David Rohr - -#ifndef GPUTPCSECTOROUTCLUSTER_H -#define GPUTPCSECTOROUTCLUSTER_H - -#include "GPUTPCDef.h" - -namespace o2::gpu -{ -/** - * @class GPUTPCSectorOutCluster - * GPUTPCSectorOutCluster class contains clusters which are assigned to sector tracks. - * It is used to send the data from TPC sector trackers to the GlobalMerger - */ -class GPUTPCSectorOutCluster -{ - public: - GPUhd() void Set(uint32_t id, uint8_t row, uint8_t flags, uint16_t amp, float x, float y, float z) - { - mRow = row; - mFlags = flags; - mId = id; - mAmp = amp; - mX = x; - mY = y; - mZ = z; - } - - GPUhd() float GetX() const { return mX; } - GPUhd() float GetY() const { return mY; } - GPUhd() float GetZ() const { return mZ; } - GPUhd() uint16_t GetAmp() const { return mAmp; } - GPUhd() uint32_t GetId() const { return mId; } - GPUhd() uint8_t GetRow() const { return mRow; } - GPUhd() uint8_t GetFlags() const { return mFlags; } - - private: - uint32_t mId; // Id - uint8_t mRow; // row - uint8_t mFlags; // flags - uint16_t mAmp; // amplitude - float mX; // coordinates - float mY; // coordinates - float mZ; // coordinates - -#ifdef GPUCA_TPC_RAW_PROPAGATE_PAD_ROW_TIME - public: - float mPad; - float mTime; -#endif -}; -} // namespace o2::gpu - -#endif diff --git a/GPU/GPUTracking/SectorTracker/GPUTPCTrack.h b/GPU/GPUTracking/SectorTracker/GPUTPCTrack.h index 7306c84cf949c..d67903f00acfa 100644 --- a/GPU/GPUTracking/SectorTracker/GPUTPCTrack.h +++ b/GPU/GPUTracking/SectorTracker/GPUTPCTrack.h @@ -17,7 +17,6 @@ #include "GPUTPCBaseTrackParam.h" #include "GPUTPCDef.h" -#include "GPUTPCSectorOutCluster.h" namespace o2::gpu { @@ -49,11 +48,6 @@ class GPUTPCTrack GPUhd() void SetParam(const GPUTPCBaseTrackParam& v) { mParam = v; } - // Only if used as replacement for SectorOutTrack - GPUhd() static int32_t GetSize(int32_t nClust) { return sizeof(GPUTPCTrack) + nClust * sizeof(GPUTPCSectorOutCluster); } - GPUhd() const GPUTPCTrack* GetNextTrack() const { return (const GPUTPCTrack*)(((char*)this) + GetSize(mNHits)); } - GPUhd() GPUTPCTrack* NextTrack() { return (GPUTPCTrack*)(((char*)this) + GetSize(mNHits)); } - private: int32_t mFirstHitID; // index of the first track cell in the track->cell pointer array int32_t mNHits; // number of track cells From a153a7a50c0adba9b2f3c574eef63247a684d3ac Mon Sep 17 00:00:00 2001 From: David Rohr Date: Sun, 15 Jun 2025 14:51:24 +0200 Subject: [PATCH 5/5] GPU CMake: Switch from deprecated AMDGPU_TARGETS to GPU_TARGETS --- dependencies/FindO2GPU.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/FindO2GPU.cmake b/dependencies/FindO2GPU.cmake index 20e351a68c271..f9c549905f178 100644 --- a/dependencies/FindO2GPU.cmake +++ b/dependencies/FindO2GPU.cmake @@ -234,7 +234,7 @@ endif() if(ENABLE_HIP) if(HIP_AMDGPUTARGET) set(CMAKE_HIP_ARCHITECTURES "${HIP_AMDGPUTARGET}") - set(AMDGPU_TARGETS "${HIP_AMDGPUTARGET}") + set(GPU_TARGETS "${HIP_AMDGPUTARGET}") endif() if(NOT "$ENV{CMAKE_PREFIX_PATH}" MATCHES "rocm" AND NOT CMAKE_PREFIX_PATH MATCHES "rocm" AND EXISTS "/opt/rocm/lib/cmake/") list(APPEND CMAKE_PREFIX_PATH "/opt/rocm/lib/cmake")