diff --git a/GPU/Common/CMakeLists.txt b/GPU/Common/CMakeLists.txt index 21253f7f9b815..8466035d74ef7 100644 --- a/GPU/Common/CMakeLists.txt +++ b/GPU/Common/CMakeLists.txt @@ -36,8 +36,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2") PUBLIC $ $) - target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB - GPUCA_TPC_GEOMETRY_O2 GPUCA_HAVE_O2HEADERS) + target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2) # cuda test, only compile if CUDA if(CUDA_ENABLED) diff --git a/GPU/Common/GPUCommonDef.h b/GPU/Common/GPUCommonDef.h index 62d665d36c285..ae8c48b500b69 100644 --- a/GPU/Common/GPUCommonDef.h +++ b/GPU/Common/GPUCommonDef.h @@ -49,11 +49,8 @@ #elif defined(__CUDACC__) || defined(__HIPCC__) #define GPUCA_HAS_GLOBAL_SYMBOL_CONSTANT_MEM #endif -#if !defined(GPUCA_HAVE_O2HEADERS) && (defined(GPUCA_O2_LIB) || !defined(GPUCA_STANDALONE)) - #define GPUCA_HAVE_O2HEADERS -#endif -#if defined(GPUCA_HAVE_O2HEADERS) && !defined(GPUCA_GPUCODE) && !defined(GPUCA_STANDALONE) && defined(DEBUG_STREAMER) +#if !defined(GPUCA_GPUCODE) && !defined(GPUCA_STANDALONE) && defined(DEBUG_STREAMER) #define GPUCA_DEBUG_STREAMER_CHECK(...) __VA_ARGS__ #else #define GPUCA_DEBUG_STREAMER_CHECK(...) diff --git a/GPU/Common/GPUDebugStreamer.h b/GPU/Common/GPUDebugStreamer.h index 10a94cfd9bfae..9d048a60bf96b 100644 --- a/GPU/Common/GPUDebugStreamer.h +++ b/GPU/Common/GPUDebugStreamer.h @@ -15,7 +15,7 @@ #define GPUDEBUGSTREAMER_H #include "GPUCommonDef.h" -#if defined(GPUCA_HAVE_O2HEADERS) && !defined(GPUCA_GPUCODE) && !defined(GPUCA_STANDALONE) && defined(DEBUG_STREAMER) +#if !defined(GPUCA_GPUCODE) && !defined(GPUCA_STANDALONE) && defined(DEBUG_STREAMER) #include "CommonUtils/DebugStreamer.h" #endif diff --git a/GPU/GPUTracking/Base/GPUConstantMem.h b/GPU/GPUTracking/Base/GPUConstantMem.h index 2a9a15e10f491..3396219634587 100644 --- a/GPU/GPUTracking/Base/GPUConstantMem.h +++ b/GPU/GPUTracking/Base/GPUConstantMem.h @@ -23,17 +23,12 @@ #include "GPUTPCGMMerger.h" #include "GPUTRDTracker.h" -// Dummies for stuff not suppored in legacy code, or for what requires O2 headers while not available -#if defined(GPUCA_HAVE_O2HEADERS) #include "GPUTPCConvert.h" #include "GPUTPCCompression.h" #include "GPUTPCDecompression.h" #include "GPUITSFitter.h" #include "GPUTPCClusterFinder.h" #include "GPUTrackingRefit.h" -#else -#include "GPUO2FakeClasses.h" -#endif #ifdef GPUCA_KERNEL_DEBUGGER_OUTPUT #include "GPUKernelDebugOutput.h" @@ -52,9 +47,7 @@ struct GPUConstantMem { GPUTPCDecompression tpcDecompressor; GPUTPCGMMerger tpcMerger; GPUTRDTrackerGPU trdTrackerGPU; -#ifdef GPUCA_HAVE_O2HEADERS GPUTRDTracker trdTrackerO2; -#endif GPUTPCClusterFinder tpcClusterer[GPUCA_NSLICES]; GPUITSFitter itsFitter; GPUTrackingRefitProcessor trackingRefit; @@ -65,19 +58,10 @@ struct GPUConstantMem { GPUKernelDebugOutput debugOutput; #endif -#if defined(GPUCA_HAVE_O2HEADERS) template GPUd() auto& getTRDTracker(); -#else // GPUCA_HAVE_O2HEADERS - template - GPUdi() GPUTRDTrackerGPU& getTRDTracker() - { - return trdTrackerGPU; - } -#endif // !GPUCA_HAVE_O2HEADERS }; -#if defined(GPUCA_HAVE_O2HEADERS) template <> GPUdi() auto& GPUConstantMem::getTRDTracker<0>() { @@ -88,7 +72,6 @@ GPUdi() auto& GPUConstantMem::getTRDTracker<1>() { return trdTrackerO2; } -#endif union GPUConstantMemCopyable { #if !defined(__OPENCL__) || defined(__OPENCL_HOST__) diff --git a/GPU/GPUTracking/Base/GPUParam.cxx b/GPU/GPUTracking/Base/GPUParam.cxx index 6726c022e5ddb..d5c1149b0ab29 100644 --- a/GPU/GPUTracking/Base/GPUParam.cxx +++ b/GPU/GPUTracking/Base/GPUParam.cxx @@ -20,14 +20,12 @@ #include "GPUTPCGMPolynomialFieldManager.h" #include "GPUDataTypes.h" #include "GPUConstantMem.h" +#include "DetectorsBase/Propagator.h" using namespace o2::gpu; #include #include -#ifdef GPUCA_HAVE_O2HEADERS -#include "DetectorsBase/Propagator.h" -#endif #include "utils/qconfigrtc.h" diff --git a/GPU/GPUTracking/Base/GPUReconstruction.cxx b/GPU/GPUTracking/Base/GPUReconstruction.cxx index 1fa8af0adffe8..5df69c416e858 100644 --- a/GPU/GPUTracking/Base/GPUReconstruction.cxx +++ b/GPU/GPUTracking/Base/GPUReconstruction.cxx @@ -94,9 +94,7 @@ GPUReconstruction::GPUReconstruction(const GPUSettingsDeviceBackend& cfg) : mHos mMemoryScalers.reset(new GPUMemorySizeScalers); for (uint32_t i = 0; i < NSLICES; i++) { processors()->tpcTrackers[i].SetSlice(i); // TODO: Move to a better place -#ifdef GPUCA_HAVE_O2HEADERS processors()->tpcClusterer[i].mISlice = i; -#endif } #ifndef GPUCA_NO_ROOT mROOTDump = GPUROOTDumpCore::getAndCreate(); @@ -213,14 +211,6 @@ int32_t GPUReconstruction::InitPhaseBeforeDevice() } GPUConfigDump::dumpConfig(¶m().rec, &mProcessingSettings, chTrk ? chTrk->GetQAConfig() : nullptr, chTrk ? chTrk->GetEventDisplayConfig() : nullptr, &mDeviceBackendSettings, &mRecoSteps); } -#ifndef GPUCA_HAVE_O2HEADERS - mRecoSteps.steps.setBits(RecoStep::ITSTracking, false); - mRecoSteps.steps.setBits(RecoStep::TRDTracking, false); - mRecoSteps.steps.setBits(RecoStep::TPCConversion, false); - mRecoSteps.steps.setBits(RecoStep::TPCCompression, false); - mRecoSteps.steps.setBits(RecoStep::TPCdEdx, false); - mProcessingSettings.createO2Output = false; -#endif mRecoSteps.stepsGPUMask &= mRecoSteps.steps; mRecoSteps.stepsGPUMask &= AvailableGPURecoSteps(); if (!IsGPU()) { @@ -258,7 +248,6 @@ int32_t GPUReconstruction::InitPhaseBeforeDevice() #ifndef GPUCA_NO_FAST_MATH GPUError("Warning, deterministicGPUReconstruction needs GPUCA_NO_FAST_MATH, otherwise results will never be deterministic!"); #endif -#ifdef GPUCA_HAVE_O2HEADERS mProcessingSettings.overrideClusterizerFragmentLen = TPC_MAX_FRAGMENT_LEN_GPU; param().rec.tpc.nWaysOuter = true; if (param().rec.tpc.looperInterpolationInExtraPass == -1) { @@ -267,7 +256,6 @@ int32_t GPUReconstruction::InitPhaseBeforeDevice() if (mProcessingSettings.createO2Output > 1) { mProcessingSettings.createO2Output = 1; } -#endif } if (mProcessingSettings.deterministicGPUReconstruction && mProcessingSettings.debugLevel >= 6) { mProcessingSettings.nTPCClustererLanes = 1; @@ -347,7 +335,6 @@ int32_t GPUReconstruction::InitPhaseBeforeDevice() mNStreams = std::max(mProcessingSettings.nStreams, 3); } -#ifdef GPUCA_HAVE_O2HEADERS if (mProcessingSettings.nTPCClustererLanes == -1) { mProcessingSettings.nTPCClustererLanes = (GetRecoStepsGPU() & RecoStep::TPCClusterFinding) ? 3 : std::max(1, std::min(GPUCA_NSLICES, mProcessingSettings.ompKernels ? (mProcessingSettings.ompThreads >= 4 ? std::min(mProcessingSettings.ompThreads / 2, mProcessingSettings.ompThreads >= 32 ? GPUCA_NSLICES : 4) : 1) : mProcessingSettings.ompThreads)); } @@ -358,7 +345,6 @@ int32_t GPUReconstruction::InitPhaseBeforeDevice() GPUError("Invalid value for nTPCClustererLanes: %d", mProcessingSettings.nTPCClustererLanes); mProcessingSettings.nTPCClustererLanes = GPUCA_NSLICES; } -#endif if (mProcessingSettings.doublePipeline && (mChains.size() != 1 || mChains[0]->SupportsDoublePipeline() == false || !IsGPU() || mProcessingSettings.memoryAllocationStrategy != GPUMemoryResource::ALLOCATION_GLOBAL)) { GPUError("Must use double pipeline mode only with exactly one chain that must support it"); diff --git a/GPU/GPUTracking/Base/GPUReconstructionConvert.cxx b/GPU/GPUTracking/Base/GPUReconstructionConvert.cxx index a21bdcf28dd35..ca1c46766b9da 100644 --- a/GPU/GPUTracking/Base/GPUReconstructionConvert.cxx +++ b/GPU/GPUTracking/Base/GPUReconstructionConvert.cxx @@ -30,7 +30,6 @@ #include #include -#ifdef GPUCA_HAVE_O2HEADERS #include "clusterFinderDefs.h" #include "DataFormatsTPC/ZeroSuppression.h" #include "DataFormatsTPC/ZeroSuppressionLinkBased.h" @@ -40,7 +39,6 @@ #include "TPCBase/RDHUtils.h" #include "TPCBase/CRU.h" #include "DetectorsRaw/RDHUtils.h" -#endif using namespace o2::gpu; using namespace o2::tpc; @@ -49,7 +47,6 @@ using namespace std::string_literals; void GPUReconstructionConvert::ConvertNativeToClusterData(o2::tpc::ClusterNativeAccess* native, std::unique_ptr* clusters, uint32_t* nClusters, const TPCFastTransform* transform, int32_t continuousMaxTimeBin) { -#ifdef GPUCA_HAVE_O2HEADERS memset(nClusters, 0, NSLICES * sizeof(nClusters[0])); uint32_t offset = 0; for (uint32_t i = 0; i < NSLICES; i++) { @@ -83,12 +80,10 @@ void GPUReconstructionConvert::ConvertNativeToClusterData(o2::tpc::ClusterNative offset += native->nClusters[i][j]; } } -#endif } void GPUReconstructionConvert::ConvertRun2RawToNative(o2::tpc::ClusterNativeAccess& native, std::unique_ptr& nativeBuffer, const AliHLTTPCRawCluster** rawClusters, uint32_t* nRawClusters) { -#ifdef GPUCA_HAVE_O2HEADERS memset((void*)&native, 0, sizeof(native)); for (uint32_t i = 0; i < NSLICES; i++) { for (uint32_t j = 0; j < nRawClusters[i]; j++) { @@ -115,12 +110,10 @@ void GPUReconstructionConvert::ConvertRun2RawToNative(o2::tpc::ClusterNativeAcce c.qTot = org.GetCharge(); } } -#endif } int32_t GPUReconstructionConvert::GetMaxTimeBin(const ClusterNativeAccess& native) { -#ifdef GPUCA_HAVE_O2HEADERS float retVal = 0; for (uint32_t i = 0; i < NSLICES; i++) { for (uint32_t j = 0; j < GPUCA_ROW_COUNT; j++) { @@ -132,14 +125,10 @@ int32_t GPUReconstructionConvert::GetMaxTimeBin(const ClusterNativeAccess& nativ } } return ceil(retVal); -#else - return 0; -#endif } int32_t GPUReconstructionConvert::GetMaxTimeBin(const GPUTrackingInOutDigits& digits) { -#ifdef GPUCA_HAVE_O2HEADERS float retVal = 0; for (uint32_t i = 0; i < NSLICES; i++) { for (uint32_t k = 0; k < digits.nTPCDigits[i]; k++) { @@ -149,14 +138,10 @@ int32_t GPUReconstructionConvert::GetMaxTimeBin(const GPUTrackingInOutDigits& di } } return ceil(retVal); -#else - return 0; -#endif } int32_t GPUReconstructionConvert::GetMaxTimeBin(const GPUTrackingInOutZS& zspages) { -#ifdef GPUCA_HAVE_O2HEADERS float retVal = 0; for (uint32_t i = 0; i < NSLICES; i++) { int32_t firstHBF = zspages.slice[i].count[0] ? o2::raw::RDHUtils::getHeartBeatOrbit(*(const o2::header::RAWDataHeader*)zspages.slice[i].zsPtr[0][0]) : 0; @@ -182,9 +167,6 @@ int32_t GPUReconstructionConvert::GetMaxTimeBin(const GPUTrackingInOutZS& zspage } } return ceil(retVal); -#else - return 0; -#endif } // ------------------------------------------------- TPC ZS ------------------------------------------------- @@ -1413,12 +1395,10 @@ void GPUReconstructionConvert::RunZSEncoder(const S& in, std::unique_ptr(const GPUTrackingInOutDigits&, std::unique_ptr*, uint32_t*, o2::raw::RawFileWriter*, const o2::InteractionRecord*, const GPUParam&, int32_t, bool, float, bool, std::function&)> digitsFilter); #ifdef GPUCA_O2_LIB template void GPUReconstructionConvert::RunZSEncoder(const DigitArray&, std::unique_ptr*, uint32_t*, o2::raw::RawFileWriter*, const o2::InteractionRecord*, const GPUParam&, int32_t, bool, float, bool, std::function&)> digitsFilter); #endif -#endif void GPUReconstructionConvert::RunZSEncoderCreateMeta(const uint64_t* buffer, const uint32_t* sizes, void** ptrs, GPUTrackingInOutZS* out) { @@ -1436,7 +1416,6 @@ void GPUReconstructionConvert::RunZSEncoderCreateMeta(const uint64_t* buffer, co void GPUReconstructionConvert::RunZSFilter(std::unique_ptr* buffers, const o2::tpc::Digit* const* ptrs, size_t* nsb, const size_t* ns, const GPUParam& param, bool zs12bit, float threshold) { -#ifdef GPUCA_HAVE_O2HEADERS for (uint32_t i = 0; i < NSLICES; i++) { if (buffers[i].get() != ptrs[i] || nsb != ns) { throw std::runtime_error("Not owning digits"); @@ -1459,7 +1438,6 @@ void GPUReconstructionConvert::RunZSFilter(std::unique_ptr* bu } nsb[i] = j; } -#endif } #ifdef GPUCA_O2_LIB diff --git a/GPU/GPUTracking/Base/GPUReconstructionIncludesITS.h b/GPU/GPUTracking/Base/GPUReconstructionIncludesITS.h index faf9e0afdf18b..5891891d9da24 100644 --- a/GPU/GPUTracking/Base/GPUReconstructionIncludesITS.h +++ b/GPU/GPUTracking/Base/GPUReconstructionIncludesITS.h @@ -15,7 +15,7 @@ #ifndef GPURECONSTRUCTIONINCLDUESITS_H #define GPURECONSTRUCTIONINCLDUESITS_H -#if defined(GPUCA_HAVE_O2HEADERS) && !defined(GPUCA_STANDALONE) +#if !defined(GPUCA_STANDALONE) #include "ITStracking/TrackerTraits.h" #include "ITStracking/VertexerTraits.h" #include "ITStracking/TimeFrame.h" diff --git a/GPU/GPUTracking/Base/cuda/CMakeLists.txt b/GPU/GPUTracking/Base/cuda/CMakeLists.txt index 7c382e9b9374d..bd6b3b6e51928 100644 --- a/GPU/GPUTracking/Base/cuda/CMakeLists.txt +++ b/GPU/GPUTracking/Base/cuda/CMakeLists.txt @@ -191,10 +191,8 @@ if(NOT GPUCA_CUDA_COMPILE_MODE STREQUAL "rdc") set_target_properties(${targetName} PROPERTIES LINKER_LANGUAGE CXX) endif() -if(ALIGPU_BUILD_TYPE STREQUAL "O2" OR GPUCA_CONFIG_O2_EXTENSIONS) - add_library(GPUTrackingCUDAExternalProvider OBJECT GPUReconstructionCUDAExternalProvider.cu) - add_library(O2::GPUTrackingCUDAExternalProvider ALIAS GPUTrackingCUDAExternalProvider) - set_property(TARGET GPUTrackingCUDAExternalProvider PROPERTY CUDA_SEPARABLE_COMPILATION ON) - target_compile_definitions(GPUTrackingCUDAExternalProvider PRIVATE $) - target_include_directories(GPUTrackingCUDAExternalProvider PRIVATE $) -endif() +add_library(GPUTrackingCUDAExternalProvider OBJECT GPUReconstructionCUDAExternalProvider.cu) +add_library(O2::GPUTrackingCUDAExternalProvider ALIAS GPUTrackingCUDAExternalProvider) +set_property(TARGET GPUTrackingCUDAExternalProvider PROPERTY CUDA_SEPARABLE_COMPILATION ON) +target_compile_definitions(GPUTrackingCUDAExternalProvider PRIVATE $) +target_include_directories(GPUTrackingCUDAExternalProvider PRIVATE $) diff --git a/GPU/GPUTracking/Base/cuda/GPUReconstructionCUDAGenRTC.cxx b/GPU/GPUTracking/Base/cuda/GPUReconstructionCUDAGenRTC.cxx index 7114d37380afc..62ad57ae3497a 100644 --- a/GPU/GPUTracking/Base/cuda/GPUReconstructionCUDAGenRTC.cxx +++ b/GPU/GPUTracking/Base/cuda/GPUReconstructionCUDAGenRTC.cxx @@ -20,9 +20,7 @@ #include "GPUParamRTC.h" #include "GPUDefMacros.h" #include -#ifdef GPUCA_HAVE_O2HEADERS #include "Framework/SHA1.h" -#endif #include #include #include @@ -55,7 +53,6 @@ int32_t GPUReconstructionCUDA::genRTC(std::string& filename, uint32_t& nCompile) baseCommand += (getenv("O2_GPU_RTC_OVERRIDE_CMD") ? std::string(getenv("O2_GPU_RTC_OVERRIDE_CMD")) : std::string(_binary_GPUReconstructionCUDArtc_command_start, _binary_GPUReconstructionCUDArtc_command_len)); baseCommand += std::string(" ") + (mProcessingSettings.RTCoverrideArchitecture != "" ? mProcessingSettings.RTCoverrideArchitecture : std::string(_binary_GPUReconstructionCUDArtc_command_arch_start, _binary_GPUReconstructionCUDArtc_command_arch_len)); -#ifdef GPUCA_HAVE_O2HEADERS char shasource[21], shaparam[21], shacmd[21], shakernels[21]; if (mProcessingSettings.rtc.cacheOutput) { o2::framework::internal::SHA1(shasource, _binary_GPUReconstructionCUDArtc_src_start, _binary_GPUReconstructionCUDArtc_src_len); @@ -63,7 +60,6 @@ int32_t GPUReconstructionCUDA::genRTC(std::string& filename, uint32_t& nCompile) o2::framework::internal::SHA1(shacmd, baseCommand.c_str(), baseCommand.size()); o2::framework::internal::SHA1(shakernels, kernelsall.c_str(), kernelsall.size()); } -#endif nCompile = mProcessingSettings.rtc.compilePerKernel ? kernels.size() : 1; bool cacheLoaded = false; @@ -72,9 +68,6 @@ int32_t GPUReconstructionCUDA::genRTC(std::string& filename, uint32_t& nCompile) if (mProcessingSettings.RTCcacheFolder != ".") { std::filesystem::create_directories(mProcessingSettings.RTCcacheFolder); } -#ifndef GPUCA_HAVE_O2HEADERS - throw std::runtime_error("Cannot use RTC cache without O2 headers"); -#else if (mProcessingSettings.rtc.cacheMutex) { mode_t mask = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH; fd = open((mProcessingSettings.RTCcacheFolder + "/cache.lock").c_str(), O_RDWR | O_CREAT | O_CLOEXEC, mask); @@ -153,7 +146,6 @@ int32_t GPUReconstructionCUDA::genRTC(std::string& filename, uint32_t& nCompile) }; fclose(fp); } -#endif } if (!cacheLoaded) { if (mProcessingSettings.debugLevel >= 0) { @@ -203,7 +195,6 @@ int32_t GPUReconstructionCUDA::genRTC(std::string& filename, uint32_t& nCompile) if (mProcessingSettings.debugLevel >= 0) { GPUInfo("RTC Compilation finished (%f seconds)", rtcTimer.GetCurrentElapsedTime()); } -#ifdef GPUCA_HAVE_O2HEADERS if (mProcessingSettings.rtc.cacheOutput) { FILE* fp = fopen((mProcessingSettings.RTCcacheFolder + "/rtc.cuda.cache").c_str(), "w+b"); if (fp == nullptr) { @@ -241,7 +232,6 @@ int32_t GPUReconstructionCUDA::genRTC(std::string& filename, uint32_t& nCompile) } fclose(fp); } -#endif } if (mProcessingSettings.rtc.cacheOutput && mProcessingSettings.rtc.cacheMutex) { if (lockf(fd, F_ULOCK, 0)) { diff --git a/GPU/GPUTracking/Base/hip/CMakeLists.txt b/GPU/GPUTracking/Base/hip/CMakeLists.txt index 729ac3cf483e9..727019fa13755 100644 --- a/GPU/GPUTracking/Base/hip/CMakeLists.txt +++ b/GPU/GPUTracking/Base/hip/CMakeLists.txt @@ -249,14 +249,12 @@ if(NOT GPUCA_HIP_COMPILE_MODE STREQUAL "rdc") target_link_options(${targetName} PRIVATE $<$:-fno-gpu-rdc>) endif() -if(ALIGPU_BUILD_TYPE STREQUAL "O2" OR GPUCA_CONFIG_O2_EXTENSIONS) - add_library(GPUTrackingHIPExternalProvider OBJECT ${GPUCA_HIP_SOURCE_DIR}/GPUReconstructionHIPExternalProvider.hip) - add_library(O2::GPUTrackingHIPExternalProvider ALIAS GPUTrackingHIPExternalProvider) - target_compile_options(GPUTrackingHIPExternalProvider PRIVATE $<$:-fgpu-rdc>) - target_link_options(GPUTrackingHIPExternalProvider PRIVATE $<$:-fgpu-rdc>) - target_compile_definitions(GPUTrackingHIPExternalProvider PRIVATE $) - target_include_directories(GPUTrackingHIPExternalProvider PRIVATE $) - if(NOT DEFINED GPUCA_HIP_HIPIFY_FROM_CUDA OR "${GPUCA_HIP_HIPIFY_FROM_CUDA}") - add_dependencies(GPUTrackingHIPExternalProvider ${MODULE}_HIPIFIED) - endif() +add_library(GPUTrackingHIPExternalProvider OBJECT ${GPUCA_HIP_SOURCE_DIR}/GPUReconstructionHIPExternalProvider.hip) +add_library(O2::GPUTrackingHIPExternalProvider ALIAS GPUTrackingHIPExternalProvider) +target_compile_options(GPUTrackingHIPExternalProvider PRIVATE $<$:-fgpu-rdc>) +target_link_options(GPUTrackingHIPExternalProvider PRIVATE $<$:-fgpu-rdc>) +target_compile_definitions(GPUTrackingHIPExternalProvider PRIVATE $) +target_include_directories(GPUTrackingHIPExternalProvider PRIVATE $) +if(NOT DEFINED GPUCA_HIP_HIPIFY_FROM_CUDA OR "${GPUCA_HIP_HIPIFY_FROM_CUDA}") + add_dependencies(GPUTrackingHIPExternalProvider ${MODULE}_HIPIFIED) endif() diff --git a/GPU/GPUTracking/CMakeLists.txt b/GPU/GPUTracking/CMakeLists.txt index aac689a2e01c8..5dd92d41db29b 100644 --- a/GPU/GPUTracking/CMakeLists.txt +++ b/GPU/GPUTracking/CMakeLists.txt @@ -115,7 +115,6 @@ set(HDRS_INSTALL DataTypes/GPUdEdxInfo.h DataTypes/GPUHostDataTypes.h DataTypes/GPUO2DataTypes.h - DataTypes/GPUO2FakeClasses.h DataTypes/GPUOutputControl.h DataTypes/GPUSettings.h DataTypes/GPUTPCGeometry.h @@ -159,67 +158,62 @@ set(HDRS_INSTALL DataTypes/GPUTPCGMPolynomialField.h ) -# Sources for O2 and for Standalone if requested in config file -if(ALIGPU_BUILD_TYPE STREQUAL "O2" OR ALIGPU_BUILD_TYPE STREQUAL "Standalone") - set(SRCS_NO_CINT ${SRCS_NO_CINT} display/GPUDisplayInterface.cxx) -endif() -if(ALIGPU_BUILD_TYPE STREQUAL "O2" OR GPUCA_CONFIG_O2_EXTENSIONS) - set(SRCS_NO_CINT - ${SRCS_NO_CINT} - Global/GPUChainITS.cxx - ITS/GPUITSFitter.cxx - ITS/GPUITSFitterKernels.cxx - dEdx/GPUdEdx.cxx - TPCConvert/GPUTPCConvert.cxx - TPCConvert/GPUTPCConvertKernel.cxx - DataCompression/GPUTPCCompression.cxx - DataCompression/GPUTPCCompressionTrackModel.cxx - DataCompression/GPUTPCCompressionKernels.cxx - DataCompression/GPUTPCDecompression.cxx - DataCompression/GPUTPCDecompressionKernels.cxx - DataCompression/TPCClusterDecompressor.cxx - DataCompression/GPUTPCClusterStatistics.cxx - TPCClusterFinder/GPUTPCClusterFinder.cxx - TPCClusterFinder/ClusterAccumulator.cxx - TPCClusterFinder/MCLabelAccumulator.cxx - TPCClusterFinder/GPUTPCCFCheckPadBaseline.cxx - TPCClusterFinder/GPUTPCCFStreamCompaction.cxx - TPCClusterFinder/GPUTPCCFChargeMapFiller.cxx - TPCClusterFinder/GPUTPCCFPeakFinder.cxx - TPCClusterFinder/GPUTPCCFNoiseSuppression.cxx - TPCClusterFinder/GPUTPCCFClusterizer.cxx - TPCClusterFinder/GPUTPCCFDeconvolution.cxx - TPCClusterFinder/GPUTPCCFMCLabelFlattener.cxx - TPCClusterFinder/GPUTPCCFDecodeZS.cxx - TPCClusterFinder/GPUTPCCFGather.cxx - Refit/GPUTrackingRefit.cxx - Refit/GPUTrackingRefitKernel.cxx - Merger/GPUTPCGMO2Output.cxx) - - set(SRCS_DATATYPES - ${SRCS_DATATYPES} - DataTypes/TPCPadGainCalib.cxx - DataTypes/TPCPadBitMap.cxx - DataTypes/TPCZSLinkMapping.cxx - DataTypes/CalibdEdxContainer.cxx - DataTypes/CalibdEdxTrackTopologyPol.cxx - DataTypes/CalibdEdxTrackTopologySpline.cxx - DataTypes/GPUTRDTrackO2.cxx) - - set(SRCS_NO_H ${SRCS_NO_H} - TPCClusterFinder/GPUTPCClusterFinderDump.cxx) - - set(HDRS_INSTALL ${HDRS_INSTALL} - ITS/GPUITSTrack.h - TPCClusterFinder/Array2D.h - TPCClusterFinder/CfConsts.h - TPCClusterFinder/CfFragment.h - TPCClusterFinder/CfUtils.h - TPCClusterFinder/ChargePos.h - Definitions/clusterFinderDefs.h - TPCClusterFinder/PackedCharge.h - TPCClusterFinder/GPUTPCCFChainContext.h) -endif() +set(SRCS_NO_CINT ${SRCS_NO_CINT} display/GPUDisplayInterface.cxx) +set(SRCS_NO_CINT + ${SRCS_NO_CINT} + Global/GPUChainITS.cxx + ITS/GPUITSFitter.cxx + ITS/GPUITSFitterKernels.cxx + dEdx/GPUdEdx.cxx + TPCConvert/GPUTPCConvert.cxx + TPCConvert/GPUTPCConvertKernel.cxx + DataCompression/GPUTPCCompression.cxx + DataCompression/GPUTPCCompressionTrackModel.cxx + DataCompression/GPUTPCCompressionKernels.cxx + DataCompression/GPUTPCDecompression.cxx + DataCompression/GPUTPCDecompressionKernels.cxx + DataCompression/TPCClusterDecompressor.cxx + DataCompression/GPUTPCClusterStatistics.cxx + TPCClusterFinder/GPUTPCClusterFinder.cxx + TPCClusterFinder/ClusterAccumulator.cxx + TPCClusterFinder/MCLabelAccumulator.cxx + TPCClusterFinder/GPUTPCCFCheckPadBaseline.cxx + TPCClusterFinder/GPUTPCCFStreamCompaction.cxx + TPCClusterFinder/GPUTPCCFChargeMapFiller.cxx + TPCClusterFinder/GPUTPCCFPeakFinder.cxx + TPCClusterFinder/GPUTPCCFNoiseSuppression.cxx + TPCClusterFinder/GPUTPCCFClusterizer.cxx + TPCClusterFinder/GPUTPCCFDeconvolution.cxx + TPCClusterFinder/GPUTPCCFMCLabelFlattener.cxx + TPCClusterFinder/GPUTPCCFDecodeZS.cxx + TPCClusterFinder/GPUTPCCFGather.cxx + Refit/GPUTrackingRefit.cxx + Refit/GPUTrackingRefitKernel.cxx + Merger/GPUTPCGMO2Output.cxx) + +set(SRCS_DATATYPES + ${SRCS_DATATYPES} + DataTypes/TPCPadGainCalib.cxx + DataTypes/TPCPadBitMap.cxx + DataTypes/TPCZSLinkMapping.cxx + DataTypes/CalibdEdxContainer.cxx + DataTypes/CalibdEdxTrackTopologyPol.cxx + DataTypes/CalibdEdxTrackTopologySpline.cxx + DataTypes/GPUTRDTrackO2.cxx) + +set(SRCS_NO_H ${SRCS_NO_H} + TPCClusterFinder/GPUTPCClusterFinderDump.cxx) + +set(HDRS_INSTALL ${HDRS_INSTALL} + ITS/GPUITSTrack.h + TPCClusterFinder/Array2D.h + TPCClusterFinder/CfConsts.h + TPCClusterFinder/CfFragment.h + TPCClusterFinder/CfUtils.h + TPCClusterFinder/ChargePos.h + Definitions/clusterFinderDefs.h + TPCClusterFinder/PackedCharge.h + TPCClusterFinder/GPUTPCCFChainContext.h) if(ALIGPU_BUILD_TYPE STREQUAL "O2") set(SRCS_DATATYPES @@ -278,7 +272,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2") O2::TPCFastTransformation PRIVATE_LINK_LIBRARIES O2::DataFormatsTPC SOURCES ${SRCS_DATATYPES}) - target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2 GPUCA_HAVE_O2HEADERS) + target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2) o2_target_root_dictionary(GPUDataTypes HEADERS ${HDRS_CINT_DATATYPES} ${HDRS_CINT_O2_ADDITIONAL} LINKDEF GPUTrackingLinkDef_O2_DataTypes.h) @@ -323,8 +317,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2") ${targetName} PRIVATE $) - target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB - GPUCA_TPC_GEOMETRY_O2 GPUCA_HAVE_O2HEADERS) + target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2) o2_target_root_dictionary(${MODULE} HEADERS ${HDRS_CINT_O2} ${HDRS_CINT_O2_ADDITIONAL} diff --git a/GPU/GPUTracking/DataCompression/GPUTPCClusterStatistics.h b/GPU/GPUTracking/DataCompression/GPUTPCClusterStatistics.h index 4728f97ef704a..7c873fa67f522 100644 --- a/GPU/GPUTracking/DataCompression/GPUTPCClusterStatistics.h +++ b/GPU/GPUTracking/DataCompression/GPUTPCClusterStatistics.h @@ -29,10 +29,6 @@ namespace o2::gpu class GPUTPCClusterStatistics { public: -#ifndef GPUCA_HAVE_O2HEADERS - void RunStatistics(const o2::tpc::ClusterNativeAccess* clustersNative, const o2::tpc::CompressedClusters* clustersCompressed, const GPUParam& param){}; - void Finish(){}; -#else static constexpr uint32_t NSLICES = GPUCA_NSLICES; void RunStatistics(const o2::tpc::ClusterNativeAccess* clustersNative, const o2::tpc::CompressedClusters* clustersCompressed, const GPUParam& param); void Finish(); @@ -87,7 +83,6 @@ class GPUTPCClusterStatistics double mEntropy = 0; double mHuffman = 0; size_t mNTotalClusters = 0; -#endif }; } // namespace o2::gpu diff --git a/GPU/GPUTracking/DataCompression/GPUTPCCompression.h b/GPU/GPUTracking/DataCompression/GPUTPCCompression.h index 3244a0ab2640a..9a5d6436f06af 100644 --- a/GPU/GPUTracking/DataCompression/GPUTPCCompression.h +++ b/GPU/GPUTracking/DataCompression/GPUTPCCompression.h @@ -19,20 +19,7 @@ #include "GPUProcessor.h" #include "GPUCommonMath.h" #include "GPUParam.h" - -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/CompressedClusters.h" -#else -namespace o2::tpc -{ -struct CompressedClustersPtrs { -}; -struct CompressedClusters { -}; -struct CompressedClustersFlat { -}; -} // namespace o2::tpc -#endif namespace o2::gpu { diff --git a/GPU/GPUTracking/DataCompression/GPUTPCDecompression.h b/GPU/GPUTracking/DataCompression/GPUTPCDecompression.h index c15564426f464..d39eba6a08e2d 100644 --- a/GPU/GPUTracking/DataCompression/GPUTPCDecompression.h +++ b/GPU/GPUTracking/DataCompression/GPUTPCDecompression.h @@ -20,20 +20,7 @@ #include "GPUCommonMath.h" #include "GPUParam.h" #include "GPUO2DataTypes.h" - -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/CompressedClusters.h" -#else -namespace o2::tpc -{ -struct CompressedClustersPtrs { -}; -struct CompressedClusters { -}; -struct CompressedClustersFlat { -}; -} // namespace o2::tpc -#endif namespace o2::gpu { diff --git a/GPU/GPUTracking/DataCompression/GPUTPCDecompressionKernels.h b/GPU/GPUTracking/DataCompression/GPUTPCDecompressionKernels.h index 52ec4c0eef403..0bd69653fdbd4 100644 --- a/GPU/GPUTracking/DataCompression/GPUTPCDecompressionKernels.h +++ b/GPU/GPUTracking/DataCompression/GPUTPCDecompressionKernels.h @@ -19,16 +19,7 @@ #include "GPUO2DataTypes.h" #include "GPUParam.h" #include "GPUConstantMem.h" - -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/CompressedClusters.h" -#else -namespace o2::tpc -{ -struct CompressedClusters { -}; -} // namespace o2::tpc -#endif namespace o2::gpu { diff --git a/GPU/GPUTracking/DataTypes/CalibdEdxTrackTopologyPol.h b/GPU/GPUTracking/DataTypes/CalibdEdxTrackTopologyPol.h index 20d53ff80a9c8..a50cf63698a78 100644 --- a/GPU/GPUTracking/DataTypes/CalibdEdxTrackTopologyPol.h +++ b/GPU/GPUTracking/DataTypes/CalibdEdxTrackTopologyPol.h @@ -19,9 +19,7 @@ #include "NDPiecewisePolynomials.h" #include "GPUCommonDef.h" #include "FlatObject.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/Defs.h" -#endif #ifndef GPUCA_ALIGPUCODE #include #endif @@ -60,7 +58,6 @@ class CalibdEdxTrackTopologyPol : public o2::gpu::FlatObject ~CalibdEdxTrackTopologyPol() = default; #endif -#ifdef GPUCA_HAVE_O2HEADERS /// \return returns the track topology correction /// \param region region of the TPC /// \param charge correction for maximum or total charge @@ -82,7 +79,6 @@ class CalibdEdxTrackTopologyPol : public o2::gpu::FlatObject const float corr = (chargeT == ChargeType::Tot) ? getCorrectionqTot(region, tanTheta, sinPhi, z, threshold, charge) : getCorrectionqMax(region, tanTheta, sinPhi, z, relPad, relTime); return corr; } -#endif /// \return returns the track topology correction for qTot /// \param region region of the TPC @@ -128,7 +124,7 @@ class CalibdEdxTrackTopologyPol : public o2::gpu::FlatObject /// \param region region of the scaling factor GPUd() float getScalingFactorqMax(const int32_t region) const { return mScalingFactorsqMax[region]; }; -#if !defined(GPUCA_GPUCODE) && defined(GPUCA_HAVE_O2HEADERS) +#if !defined(GPUCA_GPUCODE) /// \return returns polynomial for qTot /// \param region region of the TPC const auto& getPolyqTot(const int32_t region) const { return mCalibPolsqTot[region]; } diff --git a/GPU/GPUTracking/DataTypes/CalibdEdxTrackTopologySpline.h b/GPU/GPUTracking/DataTypes/CalibdEdxTrackTopologySpline.h index 9d7cc1d3b8dfc..106bbe93c27f5 100644 --- a/GPU/GPUTracking/DataTypes/CalibdEdxTrackTopologySpline.h +++ b/GPU/GPUTracking/DataTypes/CalibdEdxTrackTopologySpline.h @@ -20,9 +20,7 @@ #include "FlatObject.h" #include "Spline.h" #include "GPUCommonRtypes.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/Defs.h" -#endif #if !defined(GPUCA_GPUCODE) && !defined(GPUCA_STANDALONE) // code invisible on GPU and in the standalone compilation #include @@ -185,7 +183,6 @@ class CalibdEdxTrackTopologySpline : public o2::gpu::FlatObject return mScalingFactorsqTot[region] * mCalibSplinesqTot[region].interpolate(x); }; -#ifdef GPUCA_HAVE_O2HEADERS /// \return returns the track topology correction /// \param region region of the TPC /// \param charge correction for maximum or total charge @@ -199,7 +196,6 @@ class CalibdEdxTrackTopologySpline : public o2::gpu::FlatObject /// \param charge correction for maximum or total charge /// \param x coordinates where the correction is evaluated GPUd() float getCorrection(const int32_t region, const ChargeType charge, const float x[/*inpXdim*/]) const { return (charge == ChargeType::Tot) ? mCalibSplinesqTot[region].interpolate(x) : mCalibSplinesqMax[region].interpolate(x); } -#endif /// \param region index of the spline (region) /// \return returns the spline for qMax diff --git a/GPU/GPUTracking/DataTypes/GPUO2DataTypes.h b/GPU/GPUTracking/DataTypes/GPUO2DataTypes.h index 810e4dd58ca0e..91a72fb0b6031 100644 --- a/GPU/GPUTracking/DataTypes/GPUO2DataTypes.h +++ b/GPU/GPUTracking/DataTypes/GPUO2DataTypes.h @@ -17,16 +17,11 @@ // Pull in several O2 headers with basic data types, or load a header with empty fake classes if O2 headers not available -#if defined(GPUCA_HAVE_O2HEADERS) #include "DataFormatsTPC/ClusterNative.h" #include "DataFormatsTPC/Digit.h" #include "DetectorsBase/MatLayerCylSet.h" #include "DetectorsBase/Propagator.h" #include "TRDBase/GeometryFlat.h" -#else -#include "GPUO2FakeClasses.h" -#endif - #include "GPUdEdxInfo.h" #endif diff --git a/GPU/GPUTracking/DataTypes/GPUO2FakeClasses.h b/GPU/GPUTracking/DataTypes/GPUO2FakeClasses.h deleted file mode 100644 index 40222021126fd..0000000000000 --- a/GPU/GPUTracking/DataTypes/GPUO2FakeClasses.h +++ /dev/null @@ -1,148 +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 GPUO2FakeClasses.h -/// \author David Rohr - -#ifndef O2_GPU_GPUO2FAKECLASSES_H -#define O2_GPU_GPUO2FAKECLASSES_H - -#include "GPUCommonDef.h" -#include "GPUDataTypes.h" - -// These are some dummies of O2 classes needed by AliGPU, to be used when O2 header unavailable - -namespace o2 -{ -class MCCompLabel -{ -}; -namespace gpu -{ -} // namespace gpu -namespace tpc -{ -class Digit -{ -}; -class TrackTPC -{ -}; -class CalibdEdxContainer -{ - public: - static bool isDead(int32_t slice, int32_t row, int32_t pad) { return false; } -}; -struct ClusterNative { - GPUd() static float getTime() { return 0.f; } - GPUd() static float getPad() { return 0.f; } - GPUd() static int32_t getFlags() { return 0; } - GPUd() static void setTimeFlags(float t, int32_t f) {} - GPUd() static void setPad(float p) {} - GPUd() static void setSigmaTime(float s) {} - GPUd() static void setSigmaPad(float s) {} - - uint8_t qTot, qMax; -}; -struct ClusterNativeAccess { - const ClusterNative* clustersLinear; - const ClusterNative* clusters[GPUCA_NSLICES][GPUCA_ROW_COUNT]; - uint32_t nClusters[GPUCA_NSLICES][GPUCA_ROW_COUNT]; - uint32_t nClustersSector[GPUCA_NSLICES]; - uint32_t clusterOffset[GPUCA_NSLICES][GPUCA_ROW_COUNT]; - uint32_t nClustersTotal; - void setOffsetPtrs() {} -}; -#ifndef __OPENCL__ -struct TPCZSHDR { - static const uint32_t TPC_ZS_PAGE_SIZE = 8192; -}; -#endif -} // namespace tpc -namespace base -{ -struct MatBudget { -}; -class MatLayerCylSet -{ -}; -} // namespace base -namespace trd -{ -class GeometryFlat -{ -}; -} // namespace trd -namespace dataformats -{ -template -class ConstMCTruthContainerView -{ -}; -template -class ConstMCTruthContainer -{ -}; -} // namespace dataformats -} // namespace o2 - -namespace o2 -{ -namespace gpu -{ -class TPCCFCalibration -{ -}; -class TPCdEdxCalibrationSplines -{ -}; -class GPUFakeEmpty -{ -}; -class GPUITSFitter -{ -}; -class GPUTPCConvert -{ -}; -class GPUTPCCompression -{ - public: - GPUFakeEmpty* mOutput; -}; -class GPUTPCDecompression -{ -}; -class GPUTPCClusterFinder -{ -}; -class GPUTrackingRefitProcessor -{ -}; -struct GPUTPCCFChainContext { -}; -struct GPUTPCDigitsMCInput { -}; -struct TPCPadGainCalib { -}; -#ifndef __OPENCL__ -struct GPUParam; -class GPUTPCClusterStatistics -{ - public: - void Finish() {} - void RunStatistics(const o2::tpc::ClusterNativeAccess* clustersNative, const GPUFakeEmpty* clustersCompressed, const GPUParam& param) {} -}; -#endif -} // namespace gpu -} // namespace o2 - -#endif diff --git a/GPU/GPUTracking/DataTypes/GPUTPCGeometry.h b/GPU/GPUTracking/DataTypes/GPUTPCGeometry.h index 68a85e36c97bc..da9a66fa57301 100644 --- a/GPU/GPUTracking/DataTypes/GPUTPCGeometry.h +++ b/GPU/GPUTracking/DataTypes/GPUTPCGeometry.h @@ -17,7 +17,7 @@ #include "GPUCommonDef.h" -#if !defined(GPUCA_NSLICES) && !defined(GPUCA_ROW_COUNT) && defined(GPUCA_HAVE_O2HEADERS) +#if !defined(GPUCA_NSLICES) && !defined(GPUCA_ROW_COUNT) #include "DataFormatsTPC/Constants.h" #define GPUCA_NSLICES o2::tpc::constants::MAXSECTOR #define GPUCA_ROW_COUNT o2::tpc::constants::MAXGLOBALPADROW diff --git a/GPU/GPUTracking/DataTypes/GPUTRDTrack.cxx b/GPU/GPUTracking/DataTypes/GPUTRDTrack.cxx index d9b7e2f3e829e..54f28ec21d30e 100644 --- a/GPU/GPUTracking/DataTypes/GPUTRDTrack.cxx +++ b/GPU/GPUTracking/DataTypes/GPUTRDTrack.cxx @@ -23,7 +23,7 @@ namespace o2 { namespace gpu { -#if defined(GPUCA_HAVE_O2HEADERS) && !defined(GPUCA_O2_LIB) // Instantiate O2 track version, for O2 this happens in GPUTRDTrackO2.cxx +#if !defined(GPUCA_O2_LIB) // Instantiate O2 track version, for O2 this happens in GPUTRDTrackO2.cxx template class GPUTRDTrack_t>; #endif template class GPUTRDTrack_t>; // Always instatiate GM track version diff --git a/GPU/GPUTracking/DataTypes/GPUTRDTrack.h b/GPU/GPUTracking/DataTypes/GPUTRDTrack.h index 7327eca1bfa56..66cf31fc8e8d0 100644 --- a/GPU/GPUTracking/DataTypes/GPUTRDTrack.h +++ b/GPU/GPUTracking/DataTypes/GPUTRDTrack.h @@ -36,9 +36,7 @@ class GlobalTrackID; } // namespace o2 //_____________________________________________________________________________ -#if (!defined(GPUCA_STANDALONE)) || defined(GPUCA_HAVE_O2HEADERS) #include "GPUTRDInterfaceO2Track.h" -#endif namespace o2 { diff --git a/GPU/GPUTracking/DataTypes/GPUTRDTrack.inc b/GPU/GPUTracking/DataTypes/GPUTRDTrack.inc index 48fd3fc42d22f..d7109620eba29 100644 --- a/GPU/GPUTracking/DataTypes/GPUTRDTrack.inc +++ b/GPU/GPUTracking/DataTypes/GPUTRDTrack.inc @@ -39,7 +39,6 @@ GPUd() void GPUTRDTrack_t::initialize() } } -#if defined(GPUCA_HAVE_O2HEADERS) #include "ReconstructionDataFormats/TrackTPCITS.h" #include "DataFormatsTPC/TrackTPC.h" @@ -55,8 +54,6 @@ GPUd() GPUTRDTrack_t::GPUTRDTrack_t(const o2::tpc::TrackTPC& t) : T(t) initialize(); } -#endif - template GPUd() GPUTRDTrack_t::GPUTRDTrack_t(const GPUTRDTrack_t& t) : T(t), mChi2(t.mChi2), mSignal(t.mSignal), mRefGlobalTrackId(t.mRefGlobalTrackId), mCollisionId(t.mCollisionId), mFlags(t.mFlags), mIsCrossingNeighbor(t.mIsCrossingNeighbor) diff --git a/GPU/GPUTracking/DataTypes/GPUTriggerOutputs.h b/GPU/GPUTracking/DataTypes/GPUTriggerOutputs.h index 7c610403ad62e..01b61928be922 100644 --- a/GPU/GPUTracking/DataTypes/GPUTriggerOutputs.h +++ b/GPU/GPUTracking/DataTypes/GPUTriggerOutputs.h @@ -16,11 +16,10 @@ #define GPUTRIGGEROUTPUTS_H #include "GPUCommonDef.h" +#include "DataFormatsTPC/ZeroSuppression.h" + #include #include -#ifdef GPUCA_HAVE_O2HEADERS -#include "DataFormatsTPC/ZeroSuppression.h" -#endif namespace o2 { @@ -28,7 +27,6 @@ namespace gpu { struct GPUTriggerOutputs { -#ifdef GPUCA_HAVE_O2HEADERS struct hasher { size_t operator()(const o2::tpc::TriggerInfoDLBZS& key) const { @@ -52,7 +50,6 @@ struct GPUTriggerOutputs { std::unordered_set triggers; static_assert(sizeof(o2::tpc::TriggerInfoDLBZS) % sizeof(uint32_t) == 0); -#endif }; } // namespace gpu diff --git a/GPU/GPUTracking/DataTypes/GPUdEdxInfo.h b/GPU/GPUTracking/DataTypes/GPUdEdxInfo.h index b4af969de46b3..f3a7f4b2a0724 100644 --- a/GPU/GPUTracking/DataTypes/GPUdEdxInfo.h +++ b/GPU/GPUTracking/DataTypes/GPUdEdxInfo.h @@ -15,20 +15,13 @@ #ifndef GPUDEDXINFO_H #define GPUDEDXINFO_H -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/dEdxInfo.h" -#endif namespace o2 { namespace gpu { -#ifdef GPUCA_HAVE_O2HEADERS using GPUdEdxInfo = o2::tpc::dEdxInfo; -#else -struct GPUdEdxInfo { -}; -#endif } // namespace gpu } // namespace o2 diff --git a/GPU/GPUTracking/Debug/GPUTPCClusterFilter.cxx b/GPU/GPUTracking/Debug/GPUTPCClusterFilter.cxx index e513162aad87c..cdd0e4879f949 100644 --- a/GPU/GPUTracking/Debug/GPUTPCClusterFilter.cxx +++ b/GPU/GPUTracking/Debug/GPUTPCClusterFilter.cxx @@ -13,7 +13,6 @@ /// \author David Rohr #include "GPUTPCClusterFilter.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/ClusterNative.h" using namespace o2::gpu; @@ -30,4 +29,3 @@ bool GPUTPCClusterFilter::filter(uint32_t sector, uint32_t row, o2::tpc::Cluster // Note that this function might be called multiple times for the same cluster, in which case the final modified cl reference goes into the output clusters. return true; } -#endif diff --git a/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h b/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h index a5fc85eb80713..75b0169a660a5 100644 --- a/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h +++ b/GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h @@ -51,7 +51,7 @@ #if defined(GPUCA_NSLICES) || defined(GPUCA_ROW_COUNT) #error GPUCA_NSLICES or GPUCA_ROW_COUNT already defined, do not include GPUTPCGeometry.h before! #endif -#if defined(GPUCA_HAVE_O2HEADERS) && defined(GPUCA_TPC_GEOMETRY_O2) && !(defined(ROOT_VERSION_CODE) && ROOT_VERSION_CODE < 393216) +#if defined(GPUCA_TPC_GEOMETRY_O2) && !(defined(ROOT_VERSION_CODE) && ROOT_VERSION_CODE < 393216) //Use definitions from the O2 headers if available for nicer code and type safety #include "DataFormatsTPC/Constants.h" #define GPUCA_NSLICES o2::tpc::constants::MAXSECTOR diff --git a/GPU/GPUTracking/GPUTrackingLinkDef_O2_DataTypes.h b/GPU/GPUTracking/GPUTrackingLinkDef_O2_DataTypes.h index 6ed4e036c6597..ab60827655a43 100644 --- a/GPU/GPUTracking/GPUTrackingLinkDef_O2_DataTypes.h +++ b/GPU/GPUTracking/GPUTrackingLinkDef_O2_DataTypes.h @@ -18,11 +18,9 @@ #pragma link off all classes; #pragma link off all functions; -#ifdef GPUCA_HAVE_O2HEADERS #pragma link C++ class o2::gpu::trackInterface < o2::track::TrackParCov> + ; #pragma link C++ class o2::gpu::GPUTRDTrack_t < o2::gpu::trackInterface < o2::track::TrackParCov>> + ; #pragma link C++ class std::vector < o2::gpu::GPUTRDTrack_t < o2::gpu::trackInterface < o2::track::TrackParCov>>> + ; -#endif #ifdef GPUCA_O2_LIB #pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsO2 + ; #pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsRec + ; diff --git a/GPU/GPUTracking/Global/GPUChainTracking.cxx b/GPU/GPUTracking/Global/GPUChainTracking.cxx index 161dbcd8689d9..1aa5f9ca0dad8 100644 --- a/GPU/GPUTracking/Global/GPUChainTracking.cxx +++ b/GPU/GPUTracking/Global/GPUChainTracking.cxx @@ -12,10 +12,8 @@ /// \file GPUChainTracking.cxx /// \author David Rohr -#ifdef GPUCA_HAVE_O2HEADERS #include "SimulationDataFormat/MCCompLabel.h" #include "SimulationDataFormat/MCTruthContainer.h" -#endif #include #include @@ -44,15 +42,11 @@ #include "GPUNewCalibValues.h" #include "GPUTriggerOutputs.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "GPUTPCClusterStatistics.h" #include "GPUHostDataTypes.h" #include "GPUTPCCFChainContext.h" #include "GPUTrackingRefit.h" #include "CalibdEdxContainer.h" -#else -#include "GPUO2FakeClasses.h" -#endif #include "TPCFastTransform.h" #include "CorrectionMapsHelper.h" @@ -95,7 +89,6 @@ void GPUChainTracking::RegisterPermanentMemoryAndProcessors() if (GetRecoSteps() & RecoStep::TRDTracking) { mRec->RegisterGPUProcessor(&processors()->trdTrackerGPU, GetRecoStepsGPU() & RecoStep::TRDTracking); } -#ifdef GPUCA_HAVE_O2HEADERS if (GetRecoSteps() & RecoStep::TRDTracking) { mRec->RegisterGPUProcessor(&processors()->trdTrackerO2, GetRecoStepsGPU() & RecoStep::TRDTracking); } @@ -116,7 +109,6 @@ void GPUChainTracking::RegisterPermanentMemoryAndProcessors() if (GetRecoSteps() & RecoStep::Refit) { mRec->RegisterGPUProcessor(&processors()->trackingRefit, GetRecoStepsGPU() & RecoStep::Refit); } -#endif #ifdef GPUCA_KERNEL_DEBUGGER_OUTPUT mRec->RegisterGPUProcessor(&processors()->debugOutput, true); #endif @@ -141,7 +133,6 @@ void GPUChainTracking::RegisterGPUProcessors() mRec->RegisterGPUDeviceProcessor(&processorsShadow()->trdTrackerGPU, &processors()->trdTrackerGPU); } -#ifdef GPUCA_HAVE_O2HEADERS memcpy((void*)&processorsShadow()->trdTrackerO2, (const void*)&processors()->trdTrackerO2, sizeof(processors()->trdTrackerO2)); if (GetRecoStepsGPU() & RecoStep::TRDTracking) { mRec->RegisterGPUDeviceProcessor(&processorsShadow()->trdTrackerO2, &processors()->trdTrackerO2); @@ -163,7 +154,6 @@ void GPUChainTracking::RegisterGPUProcessors() if (GetRecoStepsGPU() & RecoStep::Refit) { mRec->RegisterGPUDeviceProcessor(&processorsShadow()->trackingRefit, &processors()->trackingRefit); } -#endif #ifdef GPUCA_KERNEL_DEBUGGER_OUTPUT mRec->RegisterGPUDeviceProcessor(&processorsShadow()->debugOutput, &processors()->debugOutput); #endif @@ -434,7 +424,6 @@ void GPUChainTracking::UpdateGPUCalibObjects(int32_t stream, const GPUCalibObjec mFlatObjectsShadow.mCalibObjects.fastTransformHelper->setCorrMapRef(mFlatObjectsShadow.mCalibObjects.fastTransformRef); mFlatObjectsShadow.mCalibObjects.fastTransformHelper->setCorrMapMShape(mFlatObjectsShadow.mCalibObjects.fastTransformMShape); } -#ifdef GPUCA_HAVE_O2HEADERS if (processors()->calibObjects.dEdxCalibContainer && (ptrMask == nullptr || ptrMask->dEdxCalibContainer)) { memcpy((void*)mFlatObjectsShadow.mCalibObjects.dEdxCalibContainer, (const void*)processors()->calibObjects.dEdxCalibContainer, sizeof(*processors()->calibObjects.dEdxCalibContainer)); memcpy((void*)mFlatObjectsShadow.mdEdxSplinesBuffer, (const void*)processors()->calibObjects.dEdxCalibContainer->getFlatBufferPtr(), processors()->calibObjects.dEdxCalibContainer->getFlatBufferSize()); @@ -464,7 +453,6 @@ void GPUChainTracking::UpdateGPUCalibObjects(int32_t stream, const GPUCalibObjec mFlatObjectsShadow.mCalibObjects.o2Propagator->setGPUField(&processorsDevice()->param.polynomialField); mFlatObjectsShadow.mCalibObjects.o2Propagator->setMatLUT(mFlatObjectsShadow.mCalibObjects.matLUT); } -#endif TransferMemoryResourceLinkToGPU(RecoStep::NoRecoStep, mFlatObjectsShadow.mMemoryResFlat, stream); memcpy((void*)&processorsShadow()->calibObjects, (void*)&mFlatObjectsDevice.mCalibObjects, sizeof(mFlatObjectsDevice.mCalibObjects)); } @@ -541,7 +529,6 @@ void* GPUChainTracking::GPUTrackingFlatObjects::SetPointersFlatObjects(void* mem if (mChainTracking->processors()->calibObjects.tpcZSLinkMapping) { computePointerWithAlignment(mem, mCalibObjects.tpcZSLinkMapping, 1); } -#ifdef GPUCA_HAVE_O2HEADERS char* dummyPtr; if (mChainTracking->processors()->calibObjects.matLUT) { computePointerWithAlignment(mem, mCalibObjects.matLUT, 1); @@ -560,7 +547,6 @@ void* GPUChainTracking::GPUTrackingFlatObjects::SetPointersFlatObjects(void* mem if (!mChainTracking->processors()->calibObjects.o2Propagator) { mCalibObjects.o2Propagator = nullptr; // Always reserve memory for o2::Propagator, since it may be propagatred only during run() not during init(). } -#endif if (!mChainTracking->mUpdateNewCalibObjects) { mem = (char*)mem + mChainTracking->GetProcessingSettings().calibObjectsExtraMemorySize; // TODO: Fixme and do proper dynamic allocation } @@ -648,11 +634,9 @@ int32_t GPUChainTracking::DoQueuedUpdates(int32_t stream, bool updateSlave) retVal = 1; } if (mUpdateNewCalibObjects) { -#ifdef GPUCA_HAVE_O2HEADERS if (mNewCalibObjects->o2Propagator && ((mNewCalibObjects->o2Propagator->getGPUField() != nullptr) ^ GetProcessingSettings().o2PropagatorUseGPUField)) { GPUFatal("GPU magnetic field for propagator requested, but received an O2 propagator without GPU field"); } -#endif void* const* pSrc = (void* const*)mNewCalibObjects.get(); void** pDst = (void**)&processors()->calibObjects; for (uint32_t i = 0; i < sizeof(processors()->calibObjects) / sizeof(void*); i++) { @@ -661,15 +645,12 @@ int32_t GPUChainTracking::DoQueuedUpdates(int32_t stream, bool updateSlave) } } if (mNewCalibObjects->trdGeometry && (GetRecoSteps() & GPUDataTypes::RecoStep::TRDTracking)) { -#ifdef GPUCA_HAVE_O2HEADERS if (GetProcessingSettings().trdTrackModelO2) { processors()->trdTrackerO2.UpdateGeometry(); if (mRec->IsGPU()) { TransferMemoryResourceLinkToGPU(RecoStep::NoRecoStep, processors()->trdTrackerO2.MemoryPermanent(), stream); } - } else -#endif - { + } else { processors()->trdTrackerGPU.UpdateGeometry(); if (mRec->IsGPU()) { TransferMemoryResourceLinkToGPU(RecoStep::NoRecoStep, processors()->trdTrackerGPU.MemoryPermanent(), stream); @@ -791,11 +772,9 @@ int32_t GPUChainTracking::RunChain() } } -#ifdef GPUCA_HAVE_O2HEADERS if (GetProcessingSettings().trdTrackModelO2 ? runRecoStep(RecoStep::TRDTracking, &GPUChainTracking::RunTRDTracking) : runRecoStep(RecoStep::TRDTracking, &GPUChainTracking::RunTRDTracking)) { return 1; } -#endif if (runRecoStep(RecoStep::Refit, &GPUChainTracking::RunRefit)) { return 1; @@ -826,12 +805,10 @@ int32_t GPUChainTracking::RunChain() int32_t GPUChainTracking::RunChainFinalize() { -#ifdef GPUCA_HAVE_O2HEADERS if (mIOPtrs.clustersNative && (GetRecoSteps() & RecoStep::TPCCompression) && GetProcessingSettings().runCompressionStatistics) { CompressedClusters c = *mIOPtrs.tpcCompressedClusters; mCompressionStatistics->RunStatistics(mIOPtrs.clustersNative, &c, param()); } -#endif if (GetProcessingSettings().outputSanityCheck) { SanityCheck(); @@ -1008,9 +985,7 @@ const o2::base::Propagator* GPUChainTracking::GetDeviceO2Propagator() void GPUChainTracking::SetO2Propagator(const o2::base::Propagator* prop) { processors()->calibObjects.o2Propagator = prop; -#ifdef GPUCA_HAVE_O2HEADERS if ((prop->getGPUField() != nullptr) ^ GetProcessingSettings().o2PropagatorUseGPUField) { GPUFatal("GPU magnetic field for propagator requested, but received an O2 propagator without GPU field"); } -#endif } diff --git a/GPU/GPUTracking/Global/GPUChainTrackingClusterizer.cxx b/GPU/GPUTracking/Global/GPUChainTrackingClusterizer.cxx index f17c2f7de4720..bec61d6b76f1e 100644 --- a/GPU/GPUTracking/Global/GPUChainTrackingClusterizer.cxx +++ b/GPU/GPUTracking/Global/GPUChainTrackingClusterizer.cxx @@ -24,7 +24,6 @@ #ifdef GPUCA_O2_LIB #include "CommonDataFormat/InteractionRecord.h" #endif -#ifdef GPUCA_HAVE_O2HEADERS #include "GPUTriggerOutputs.h" #include "GPUHostDataTypes.h" #include "GPUTPCCFChainContext.h" @@ -33,9 +32,6 @@ #include "DataFormatsTPC/Digit.h" #include "DataFormatsTPC/Constants.h" #include "TPCBase/RDHUtils.h" -#else -#include "GPUO2FakeClasses.h" -#endif #include "utils/strtag.h" diff --git a/GPU/GPUTracking/Global/GPUChainTrackingCompression.cxx b/GPU/GPUTracking/Global/GPUChainTrackingCompression.cxx index 9878ad032cd3b..f3f3627573339 100644 --- a/GPU/GPUTracking/Global/GPUChainTrackingCompression.cxx +++ b/GPU/GPUTracking/Global/GPUChainTrackingCompression.cxx @@ -16,20 +16,17 @@ #include "GPULogging.h" #include "GPUO2DataTypes.h" #include "GPUTrackingInputProvider.h" -#include - -#ifdef GPUCA_HAVE_O2HEADERS #include "GPUTPCCFChainContext.h" #include "TPCClusterDecompressor.h" -#endif #include "utils/strtag.h" +#include + using namespace o2::gpu; using namespace o2::tpc; int32_t GPUChainTracking::RunTPCCompression() { -#ifdef GPUCA_HAVE_O2HEADERS mRec->PushNonPersistentMemory(qStr2Tag("TPCCOMPR")); RecoStep myStep = RecoStep::TPCCompression; bool doGPU = GetRecoStepsGPU() & RecoStep::TPCCompression; @@ -199,13 +196,11 @@ int32_t GPUChainTracking::RunTPCCompression() ((GPUChainTracking*)GetNextChainInQueue())->mRec->BlockStackedMemory(mRec); } mRec->PopNonPersistentMemory(RecoStep::TPCCompression, qStr2Tag("TPCCOMPR")); -#endif return 0; } int32_t GPUChainTracking::RunTPCDecompression() { -#ifdef GPUCA_HAVE_O2HEADERS if (GetProcessingSettings().tpcUseOldCPUDecoding) { const auto& threadContext = GetThreadContext(); TPCClusterDecompressor decomp; @@ -419,6 +414,5 @@ int32_t GPUChainTracking::RunTPCDecompression() } mRec->PopNonPersistentMemory(RecoStep::TPCDecompression, qStr2Tag("TPCDCMPR")); } -#endif return 0; } diff --git a/GPU/GPUTracking/Global/GPUChainTrackingDebugAndProfiling.cxx b/GPU/GPUTracking/Global/GPUChainTrackingDebugAndProfiling.cxx index 06ba08527bfdc..96bc8a3083067 100644 --- a/GPU/GPUTracking/Global/GPUChainTrackingDebugAndProfiling.cxx +++ b/GPU/GPUTracking/Global/GPUChainTrackingDebugAndProfiling.cxx @@ -23,9 +23,7 @@ #include "bitmapfile.h" #endif -#ifdef GPUCA_HAVE_O2HEADERS #include "GPUTPCClusterFilter.h" -#endif #define PROFILE_MAX_SIZE (100 * 1024 * 1024) @@ -237,11 +235,9 @@ void GPUChainTracking::PrintOutputStat() int32_t nTRDTracklets = 0; for (uint32_t k = 0; k < mIOPtrs.nTRDTracks; k++) { if (mIOPtrs.trdTracksO2) { -#ifdef GPUCA_HAVE_O2HEADERS auto& trk = mIOPtrs.trdTracksO2[k]; nTRDTracklets += trk.getNtracklets(); nTRDTracks += trk.getNtracklets() != 0; -#endif } else { auto& trk = mIOPtrs.trdTracks[k]; nTRDTracklets += trk.getNtracklets(); @@ -255,7 +251,6 @@ void GPUChainTracking::PrintOutputStat() void GPUChainTracking::SanityCheck() { -#ifdef GPUCA_HAVE_O2HEADERS size_t nErrors = 0; for (uint32_t i = 0; i < mIOPtrs.nOutputTracksTPCO2; i++) { @@ -296,12 +291,10 @@ void GPUChainTracking::SanityCheck() } else { GPUError("Sanity check found %lu errors", nErrors); } -#endif } void GPUChainTracking::RunTPCClusterFilter(o2::tpc::ClusterNativeAccess* clusters, std::function allocator, bool applyClusterCuts) { -#ifdef GPUCA_HAVE_O2HEADERS GPUTPCClusterFilter clusterFilter(*clusters); o2::tpc::ClusterNative* outputBuffer = nullptr; for (int32_t iPhase = 0; iPhase < 2; iPhase++) { @@ -338,5 +331,4 @@ void GPUChainTracking::RunTPCClusterFilter(o2::tpc::ClusterNativeAccess* cluster outputBuffer = allocator(countTotal); } } -#endif } diff --git a/GPU/GPUTracking/Global/GPUChainTrackingIO.cxx b/GPU/GPUTracking/Global/GPUChainTrackingIO.cxx index 106f71cd745d7..229469af801f6 100644 --- a/GPU/GPUTracking/Global/GPUChainTrackingIO.cxx +++ b/GPU/GPUTracking/Global/GPUChainTrackingIO.cxx @@ -35,7 +35,6 @@ #include "TPCZSLinkMapping.h" #include "GPUTriggerOutputs.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "SimulationDataFormat/MCCompLabel.h" #include "SimulationDataFormat/MCTruthContainer.h" #include "GPUTPCClusterStatistics.h" @@ -43,9 +42,6 @@ #include "GPUHostDataTypes.h" #include "DataFormatsTPC/Digit.h" #include "CalibdEdxContainer.h" -#else -#include "GPUO2FakeClasses.h" -#endif #include "TPCFastTransform.h" #include "CorrectionMapsHelper.h" @@ -78,7 +74,6 @@ void GPUChainTracking::DumpData(const char* filename) fwrite(&GPUReconstruction::geometryType, sizeof(GPUReconstruction::geometryType), 1, fp); DumpData(fp, mIOPtrs.clusterData, mIOPtrs.nClusterData, InOutPointerType::CLUSTER_DATA); DumpData(fp, mIOPtrs.rawClusters, mIOPtrs.nRawClusters, InOutPointerType::RAW_CLUSTERS); -#ifdef GPUCA_HAVE_O2HEADERS if (mIOPtrs.clustersNative) { if (DumpData(fp, &mIOPtrs.clustersNative->clustersLinear, &mIOPtrs.clustersNative->nClustersTotal, InOutPointerType::CLUSTERS_NATIVE)) { fwrite(&mIOPtrs.clustersNative->nClusters[0][0], sizeof(mIOPtrs.clustersNative->nClusters[0][0]), NSLICES * GPUCA_ROW_COUNT, fp); @@ -145,7 +140,6 @@ void GPUChainTracking::DumpData(const char* filename) uint32_t n = 1; DumpData(fp, &mIOPtrs.settingsTF, &n, InOutPointerType::TF_SETTINGS); } -#endif DumpData(fp, mIOPtrs.sliceTracks, mIOPtrs.nSliceTracks, InOutPointerType::SLICE_OUT_TRACK); DumpData(fp, mIOPtrs.sliceClusters, mIOPtrs.nSliceClusters, InOutPointerType::SLICE_OUT_CLUSTER); DumpData(fp, &mIOPtrs.mcLabelsTPC, &mIOPtrs.nMCLabelsTPC, InOutPointerType::MC_LABEL_TPC); @@ -191,7 +185,6 @@ int32_t GPUChainTracking::ReadData(const char* filename) AliHLTTPCRawCluster* ptrRawClusters[NSLICES]; ReadData(fp, mIOPtrs.rawClusters, mIOPtrs.nRawClusters, mIOMem.rawClusters, InOutPointerType::RAW_CLUSTERS, ptrRawClusters); int32_t nClustersTotal = 0; -#ifdef GPUCA_HAVE_O2HEADERS mIOMem.clusterNativeAccess.reset(new ClusterNativeAccess); if (ReadData(fp, &mIOMem.clusterNativeAccess->clustersLinear, &mIOMem.clusterNativeAccess->nClustersTotal, &mIOMem.clustersNative, InOutPointerType::CLUSTERS_NATIVE)) { r = fread(&mIOMem.clusterNativeAccess->nClusters[0][0], sizeof(mIOMem.clusterNativeAccess->nClusters[0][0]), NSLICES * GPUCA_ROW_COUNT, fp); @@ -248,7 +241,6 @@ int32_t GPUChainTracking::ReadData(const char* filename) } uint32_t n; ReadData(fp, &mIOPtrs.settingsTF, &n, &mIOMem.settingsTF, InOutPointerType::TF_SETTINGS); -#endif ReadData(fp, mIOPtrs.sliceTracks, mIOPtrs.nSliceTracks, mIOMem.sliceTracks, InOutPointerType::SLICE_OUT_TRACK); ReadData(fp, mIOPtrs.sliceClusters, mIOPtrs.nSliceClusters, mIOMem.sliceClusters, InOutPointerType::SLICE_OUT_CLUSTER); ReadData(fp, &mIOPtrs.mcLabelsTPC, &mIOPtrs.nMCLabelsTPC, &mIOMem.mcLabelsTPC, InOutPointerType::MC_LABEL_TPC); @@ -329,7 +321,6 @@ void GPUChainTracking::DumpSettings(const char* dir) f += "tpczslinkmapping.dump"; DumpStructToFile(processors()->calibObjects.tpcZSLinkMapping, f.c_str()); } -#ifdef GPUCA_HAVE_O2HEADERS if (processors()->calibObjects.dEdxCalibContainer != nullptr) { f = dir; f += "dEdxCalibContainer.dump"; @@ -345,7 +336,6 @@ void GPUChainTracking::DumpSettings(const char* dir) f += "trdgeometry.dump"; DumpStructToFile(processors()->calibObjects.trdGeometry, f.c_str()); } -#endif } void GPUChainTracking::ReadSettings(const char* dir) @@ -379,7 +369,6 @@ void GPUChainTracking::ReadSettings(const char* dir) f += "tpczslinkmapping.dump"; mTPCZSLinkMappingU = ReadStructFromFile(f.c_str()); processors()->calibObjects.tpcZSLinkMapping = mTPCZSLinkMappingU.get(); -#ifdef GPUCA_HAVE_O2HEADERS f = dir; f += "dEdxCalibContainer.dump"; mdEdxCalibContainerU = ReadFlatObjectFromFile(f.c_str()); @@ -392,5 +381,4 @@ void GPUChainTracking::ReadSettings(const char* dir) f += "trdgeometry.dump"; mTRDGeometryU = ReadStructFromFile(f.c_str()); processors()->calibObjects.trdGeometry = mTRDGeometryU.get(); -#endif } diff --git a/GPU/GPUTracking/Global/GPUChainTrackingRefit.cxx b/GPU/GPUTracking/Global/GPUChainTrackingRefit.cxx index 1d53177942b54..9e7085b31849e 100644 --- a/GPU/GPUTracking/Global/GPUChainTrackingRefit.cxx +++ b/GPU/GPUTracking/Global/GPUChainTrackingRefit.cxx @@ -20,7 +20,6 @@ using namespace o2::gpu; int32_t GPUChainTracking::RunRefit() { -#ifdef GPUCA_HAVE_O2HEADERS bool doGPU = GetRecoStepsGPU() & RecoStep::Refit; GPUTrackingRefitProcessor& Refit = processors()->trackingRefit; GPUTrackingRefitProcessor& RefitShadow = doGPU ? processorsShadow()->trackingRefit : Refit; @@ -40,6 +39,5 @@ int32_t GPUChainTracking::RunRefit() } //TransferMemoryResourcesToHost(RecoStep::Refit, &Refit, 0); SynchronizeStream(0); -#endif return 0; } diff --git a/GPU/GPUTracking/Global/GPUChainTrackingSliceTracker.cxx b/GPU/GPUTracking/Global/GPUChainTrackingSliceTracker.cxx index b21745f64af0d..ba6ba03fca8a1 100644 --- a/GPU/GPUTracking/Global/GPUChainTrackingSliceTracker.cxx +++ b/GPU/GPUTracking/Global/GPUChainTrackingSliceTracker.cxx @@ -83,11 +83,9 @@ int32_t GPUChainTracking::RunTPCTrackingSlices_internal() int32_t offset = 0; for (uint32_t i = 0; i < NSLICES; i++) { processors()->tpcTrackers[i].Data().SetClusterData(mIOPtrs.clusterData[i], mIOPtrs.nClusterData[i], offset); -#ifdef GPUCA_HAVE_O2HEADERS if (doGPU && GetRecoSteps().isSet(RecoStep::TPCConversion)) { processorsShadow()->tpcTrackers[i].Data().SetClusterData(processorsShadow()->tpcConverter.mClusters + processors()->tpcTrackers[i].Data().ClusterIdOffset(), processors()->tpcTrackers[i].NHitsTotal(), processors()->tpcTrackers[i].Data().ClusterIdOffset()); } -#endif offset += mIOPtrs.nClusterData[i]; } mRec->MemoryScalers()->nTPCHits = offset; diff --git a/GPU/GPUTracking/Global/GPUChainTrackingTRD.cxx b/GPU/GPUTracking/Global/GPUChainTrackingTRD.cxx index d2e1ae295de05..0f17bbcc26842 100644 --- a/GPU/GPUTracking/Global/GPUChainTrackingTRD.cxx +++ b/GPU/GPUTracking/Global/GPUChainTrackingTRD.cxx @@ -82,7 +82,6 @@ int32_t GPUChainTracking::RunTRDTracking() } } } else { -#ifdef GPUCA_HAVE_O2HEADERS for (uint32_t i = 0; i < mIOPtrs.nOutputTracksTPCO2; i++) { const auto& trk = mIOPtrs.outputTracksTPCO2[i]; @@ -111,7 +110,6 @@ int32_t GPUChainTracking::RunTRDTracking() return 1; } } -#endif } DoTRDGPUTracking(); @@ -121,10 +119,8 @@ int32_t GPUChainTracking::RunTRDTracking() mIOPtrs.trdTracks = Tracker.Tracks(); mIOPtrs.trdTracksO2 = nullptr; } else { -#ifdef GPUCA_HAVE_O2HEADERS mIOPtrs.trdTracks = nullptr; mIOPtrs.trdTracksO2 = Tracker.Tracks(); -#endif } mRec->PopNonPersistentMemory(RecoStep::TRDTracking, qStr2Tag("TRDTRACK")); @@ -134,7 +130,6 @@ int32_t GPUChainTracking::RunTRDTracking() template int32_t GPUChainTracking::DoTRDGPUTracking(T* externalInstance) { -#ifdef GPUCA_HAVE_O2HEADERS bool doGPU = GetRecoStepsGPU() & RecoStep::TRDTracking; auto* Tracker = &processors()->getTRDTracker(); auto* TrackerShadow = doGPU ? &processorsShadow()->getTRDTracker() : Tracker; @@ -191,7 +186,6 @@ int32_t GPUChainTracking::DoTRDGPUTracking(T* externalInstance) if (GetProcessingSettings().debugLevel >= 2) { GPUInfo("GPU TRD tracker Finished"); } -#endif return (0); } diff --git a/GPU/GPUTracking/Global/GPUChainTrackingTransformation.cxx b/GPU/GPUTracking/Global/GPUChainTrackingTransformation.cxx index 326bfbb4d2313..d91fed4046de0 100644 --- a/GPU/GPUTracking/Global/GPUChainTrackingTransformation.cxx +++ b/GPU/GPUTracking/Global/GPUChainTrackingTransformation.cxx @@ -21,12 +21,8 @@ #include "GPUMemorySizeScalers.h" #include "AliHLTTPCRawCluster.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/ClusterNative.h" #include "CommonDataFormat/InteractionRecord.h" -#else -#include "GPUO2FakeClasses.h" -#endif #include "utils/strtag.h" using namespace o2::gpu; @@ -39,7 +35,6 @@ bool GPUChainTracking::NeedTPCClustersOnGPU() int32_t GPUChainTracking::ConvertNativeToClusterData() { -#ifdef GPUCA_HAVE_O2HEADERS mRec->PushNonPersistentMemory(qStr2Tag("TPCTRANS")); const auto& threadContext = GetThreadContext(); bool doGPU = GetRecoStepsGPU() & RecoStep::TPCConversion; @@ -84,7 +79,6 @@ int32_t GPUChainTracking::ConvertNativeToClusterData() mIOPtrs.clusterData[i] = convert.mClusters + mIOPtrs.clustersNative->clusterOffset[i][0]; } mRec->PopNonPersistentMemory(RecoStep::TPCConversion, qStr2Tag("TPCTRANS")); -#endif return 0; } @@ -128,7 +122,6 @@ void GPUChainTracking::ConvertRun2RawToNative() void GPUChainTracking::ConvertZSEncoder(int32_t version) { -#ifdef GPUCA_HAVE_O2HEADERS mIOMem.tpcZSmeta2.reset(new GPUTrackingInOutZS::GPUTrackingInOutZSMeta); mIOMem.tpcZSmeta.reset(new GPUTrackingInOutZS); o2::InteractionRecord ir{0, mIOPtrs.settingsTF && mIOPtrs.settingsTF->hasTfStartOrbit ? mIOPtrs.settingsTF->tfStartOrbit : 0u}; @@ -146,7 +139,6 @@ void GPUChainTracking::ConvertZSEncoder(int32_t version) } } } -#endif } void GPUChainTracking::ConvertZSFilter(bool zs12bit) @@ -156,7 +148,6 @@ void GPUChainTracking::ConvertZSFilter(bool zs12bit) int32_t GPUChainTracking::ForwardTPCDigits() { -#ifdef GPUCA_HAVE_O2HEADERS if (GetRecoStepsGPU() & RecoStep::TPCClusterFinding) { throw std::runtime_error("Cannot forward TPC digits with Clusterizer on GPU"); } @@ -193,6 +184,5 @@ int32_t GPUChainTracking::ForwardTPCDigits() mIOPtrs.clustersNative = mClusterNativeAccess.get(); GPUInfo("Forwarded %u TPC clusters", nTotal); mRec->MemoryScalers()->nTPCHits = nTotal; -#endif return 0; } diff --git a/GPU/GPUTracking/Interface/GPUO2Interface.h b/GPU/GPUTracking/Interface/GPUO2Interface.h index aab3c1562c67d..3a819de7c7b7c 100644 --- a/GPU/GPUTracking/Interface/GPUO2Interface.h +++ b/GPU/GPUTracking/Interface/GPUO2Interface.h @@ -16,9 +16,6 @@ #define GPUO2INTERFACE_H // Some defines denoting that we are compiling for O2 -#ifndef GPUCA_HAVE_O2HEADERS -#define GPUCA_HAVE_O2HEADERS -#endif #ifndef GPUCA_TPC_GEOMETRY_O2 #define GPUCA_TPC_GEOMETRY_O2 #endif diff --git a/GPU/GPUTracking/Interface/GPUO2InterfaceConfigurableParam.h b/GPU/GPUTracking/Interface/GPUO2InterfaceConfigurableParam.h index bb92eca425336..425c8b880b4e3 100644 --- a/GPU/GPUTracking/Interface/GPUO2InterfaceConfigurableParam.h +++ b/GPU/GPUTracking/Interface/GPUO2InterfaceConfigurableParam.h @@ -23,9 +23,6 @@ #define GPUO2INTERFACECONFIGURABLEPARAM_H // Some defines denoting that we are compiling for O2 -#ifndef GPUCA_HAVE_O2HEADERS -#define GPUCA_HAVE_O2HEADERS -#endif #ifndef GPUCA_TPC_GEOMETRY_O2 #define GPUCA_TPC_GEOMETRY_O2 #endif diff --git a/GPU/GPUTracking/Interface/GPUO2InterfaceConfiguration.h b/GPU/GPUTracking/Interface/GPUO2InterfaceConfiguration.h index dd819f7ef7c05..af597fc4bf6b9 100644 --- a/GPU/GPUTracking/Interface/GPUO2InterfaceConfiguration.h +++ b/GPU/GPUTracking/Interface/GPUO2InterfaceConfiguration.h @@ -15,9 +15,6 @@ #ifndef GPUO2INTERFACECONFIGURATION_H #define GPUO2INTERFACECONFIGURATION_H -#ifndef GPUCA_HAVE_O2HEADERS -#define GPUCA_HAVE_O2HEADERS -#endif #ifndef GPUCA_TPC_GEOMETRY_O2 #define GPUCA_TPC_GEOMETRY_O2 #endif diff --git a/GPU/GPUTracking/Interface/GPUO2InterfaceDisplay.h b/GPU/GPUTracking/Interface/GPUO2InterfaceDisplay.h index 5b7a8672e746d..e6d9cb76aed79 100644 --- a/GPU/GPUTracking/Interface/GPUO2InterfaceDisplay.h +++ b/GPU/GPUTracking/Interface/GPUO2InterfaceDisplay.h @@ -16,9 +16,6 @@ #define GPUO2INTERFACEDisplay_H // Some defines denoting that we are compiling for O2 -#ifndef GPUCA_HAVE_O2HEADERS -#define GPUCA_HAVE_O2HEADERS -#endif #ifndef GPUCA_TPC_GEOMETRY_O2 #define GPUCA_TPC_GEOMETRY_O2 #endif diff --git a/GPU/GPUTracking/Interface/GPUO2InterfaceQA.h b/GPU/GPUTracking/Interface/GPUO2InterfaceQA.h index e046183e646cd..18af81b6cedc7 100644 --- a/GPU/GPUTracking/Interface/GPUO2InterfaceQA.h +++ b/GPU/GPUTracking/Interface/GPUO2InterfaceQA.h @@ -16,9 +16,6 @@ #define GPUO2INTERFACEQA_H // Some defines denoting that we are compiling for O2 -#ifndef GPUCA_HAVE_O2HEADERS -#define GPUCA_HAVE_O2HEADERS -#endif #ifndef GPUCA_TPC_GEOMETRY_O2 #define GPUCA_TPC_GEOMETRY_O2 #endif diff --git a/GPU/GPUTracking/Interface/GPUO2InterfaceRefit.h b/GPU/GPUTracking/Interface/GPUO2InterfaceRefit.h index c3a253b647df3..9f743c89d5743 100644 --- a/GPU/GPUTracking/Interface/GPUO2InterfaceRefit.h +++ b/GPU/GPUTracking/Interface/GPUO2InterfaceRefit.h @@ -16,9 +16,6 @@ #define GPUO2INTERFACEREFIT_H // Some defines denoting that we are compiling for O2 -#ifndef GPUCA_HAVE_O2HEADERS -#define GPUCA_HAVE_O2HEADERS -#endif #ifndef GPUCA_TPC_GEOMETRY_O2 #define GPUCA_TPC_GEOMETRY_O2 #endif diff --git a/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx b/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx index 2278afd112384..fab4469eeb488 100644 --- a/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx +++ b/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx @@ -51,16 +51,12 @@ #include "GPUTPCGMSliceTrack.h" #include "GPUTPCGMBorderTrack.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/ClusterNative.h" #include "DataFormatsTPC/TrackTPC.h" #ifndef GPUCA_GPUCODE #include "SimulationDataFormat/ConstMCTruthContainer.h" #include "SimulationDataFormat/MCCompLabel.h" #endif -#else -#include "GPUO2FakeClasses.h" -#endif using namespace o2::gpu; using namespace o2::tpc; diff --git a/GPU/GPUTracking/Merger/GPUTPCGMMergerDump.cxx b/GPU/GPUTracking/Merger/GPUTPCGMMergerDump.cxx index b0a150bbd6a92..a59af7529a97d 100644 --- a/GPU/GPUTracking/Merger/GPUTPCGMMergerDump.cxx +++ b/GPU/GPUTracking/Merger/GPUTPCGMMergerDump.cxx @@ -35,10 +35,8 @@ #include "GPUReconstruction.h" #include "GPUDebugStreamer.h" #include "GPUTPCClusterOccupancyMap.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "GPUTrackingRefit.h" #include "CorrectionMapsHelper.h" -#endif using namespace o2::gpu; using namespace gputpcgmmergertypes; @@ -205,9 +203,7 @@ void GPUTPCGMMerger::DumpRefit(std::ostream& out) const const auto& p = trk.GetParam(); const auto& po = trk.OuterParam(); out << " Track " << i << ": OK " << trk.OK() << " Alpha " << trk.GetAlpha() << " X " << p.GetX() << " offset " << p.GetTZOffset() << " Y " << p.GetY() << " Z " << p.GetZ() << " SPhi " << p.GetSinPhi() << " Tgl " << p.GetDzDs() << " QPt " << p.GetQPt() << " NCl " << trk.NClusters() << " / " << trk.NClustersFitted() << " Cov " << p.GetErr2Y() << "/" << p.GetErr2Z() -#ifdef GPUCA_HAVE_O2HEADERS << " dEdx " << (trk.OK() ? mOutputTracksdEdx[i].dEdxTotTPC : -1.f) << "/" << (trk.OK() ? mOutputTracksdEdx[i].dEdxMaxTPC : -1.f) -#endif << " Outer " << po.P[0] << "/" << po.P[1] << "/" << po.P[2] << "/" << po.P[3] << "/" << po.P[4] << "\n"; } out << std::setprecision(ss); @@ -299,7 +295,6 @@ const GPUTPCGMBorderTrack& GPUTPCGMMerger::MergedTrackStreamerFindBorderTrack(co void GPUTPCGMMerger::DebugRefitMergedTrack(const GPUTPCGMMergedTrack& track) const { -#ifdef GPUCA_HAVE_O2HEADERS GPUTPCGMMergedTrack trk = track; GPUTrackingRefit refit; ((GPUConstantMem*)GetConstantMem())->ioPtrs.mergedTrackHitStates = ClusterStateExt(); @@ -326,7 +321,6 @@ void GPUTPCGMMerger::DebugRefitMergedTrack(const GPUTPCGMMergedTrack& track) con } else { printf("REFIT ERROR\n"); } -#endif } std::vector GPUTPCGMMerger::StreamerOccupancyBin(int32_t iSlice, int32_t iRow, float time) const diff --git a/GPU/GPUTracking/Merger/GPUTPCGMPropagator.cxx b/GPU/GPUTracking/Merger/GPUTPCGMPropagator.cxx index 6355db9483b05..9f344a04739fd 100644 --- a/GPU/GPUTracking/Merger/GPUTPCGMPropagator.cxx +++ b/GPU/GPUTracking/Merger/GPUTPCGMPropagator.cxx @@ -1084,16 +1084,11 @@ GPUd() void GPUTPCGMPropagator::Mirror(bool inFlyDirection) GPUd() o2::base::MatBudget GPUTPCGMPropagator::getMatBudget(const float* p1, const float* p2) { -#ifdef GPUCA_HAVE_O2HEADERS return mMatLUT->getMatBudget(p1[0], p1[1], p1[2], p2[0], p2[1], p2[2]); -#else - return o2::base::MatBudget(); -#endif } GPUdic(0, 1) void GPUTPCGMPropagator::UpdateMaterial(const GPUTPCGMPhysicalTrackModel& GPUrestrict() t0e) { -#ifdef GPUCA_HAVE_O2HEADERS float xyz1[3] = {getGlobalX(mT0.GetX(), mT0.GetY()), getGlobalY(mT0.GetX(), mT0.GetY()), mT0.GetZ()}; float xyz2[3] = {getGlobalX(t0e.GetX(), t0e.GetY()), getGlobalY(t0e.GetX(), t0e.GetY()), t0e.GetZ()}; o2::base::MatBudget mat = getMatBudget(xyz1, xyz2); @@ -1102,5 +1097,4 @@ GPUdic(0, 1) void GPUTPCGMPropagator::UpdateMaterial(const GPUTPCGMPhysicalTrack } else { SetMaterialTPC(); } -#endif } diff --git a/GPU/GPUTracking/SliceTracker/GPUTPCTrackletConstructor.cxx b/GPU/GPUTracking/SliceTracker/GPUTPCTrackletConstructor.cxx index 27d531543bf6d..8e8c82393d659 100644 --- a/GPU/GPUTracking/SliceTracker/GPUTPCTrackletConstructor.cxx +++ b/GPU/GPUTracking/SliceTracker/GPUTPCTrackletConstructor.cxx @@ -23,9 +23,7 @@ #include "GPUTPCTrackletConstructor.h" #include "GPUTPCGlobalTracking.h" #include "CorrectionMapsHelper.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "CalibdEdxContainer.h" -#endif // GPUCA_HAVE_O2HEADERS #include "GPUParam.inc" #include "GPUCommonMath.h" @@ -378,7 +376,6 @@ GPUdic(2, 1) void GPUTPCTrackletConstructor::UpdateTracklet(int32_t /*nBlocks*/, } } while (false); (void)found; -#if defined(GPUCA_HAVE_O2HEADERS) if (!found && tracker.GetConstantMem()->calibObjects.dEdxCalibContainer) { uint32_t pad = CAMath::Float2UIntRn(tracker.Param().tpcGeometry.LinearY2Pad(tracker.ISlice(), iRow, yUncorrected)); if (pad < tracker.Param().tpcGeometry.NPads(iRow) && tracker.GetConstantMem()->calibObjects.dEdxCalibContainer->isDead(tracker.ISlice(), iRow, pad)) { @@ -386,7 +383,6 @@ GPUdic(2, 1) void GPUTPCTrackletConstructor::UpdateTracklet(int32_t /*nBlocks*/, rowHit = CALINK_DEAD_CHANNEL; } } -#endif } while (0); } if (r.mNHits == 8 && r.mNMissed == 0 && rowHit != CALINK_INVAL && rowHit != CALINK_DEAD_CHANNEL && rowHits && tracker.Param().par.continuousTracking && rowHits[r.mFirstRow] != CALINK_INVAL && rowHits[r.mFirstRow] != CALINK_DEAD_CHANNEL && rowHits[r.mLastRow] != CALINK_INVAL && rowHits[r.mLastRow] != CALINK_DEAD_CHANNEL) { diff --git a/GPU/GPUTracking/Standalone/Benchmark/standalone.cxx b/GPU/GPUTracking/Standalone/Benchmark/standalone.cxx index ae92f8a380bda..4bfcc312e27e7 100644 --- a/GPU/GPUTracking/Standalone/Benchmark/standalone.cxx +++ b/GPU/GPUTracking/Standalone/Benchmark/standalone.cxx @@ -58,9 +58,7 @@ #endif #include "GPUO2DataTypes.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "GPUChainITS.h" -#endif using namespace o2::gpu; @@ -73,9 +71,7 @@ extern GPUSettingsStandalone configStandalone; GPUReconstruction *rec, *recAsync, *recPipeline; GPUChainTracking *chainTracking, *chainTrackingAsync, *chainTrackingPipeline; -#ifdef GPUCA_HAVE_O2HEADERS GPUChainITS *chainITS, *chainITSAsync, *chainITSPipeline; -#endif void unique_ptr_aligned_delete(char* v) { operator delete(v GPUCA_OPERATOR_NEW_ALIGNMENT); @@ -167,11 +163,6 @@ int32_t ReadConfiguration(int argc, char** argv) return 1; } #endif -#ifndef GPUCA_HAVE_O2HEADERS - configStandalone.runTRD = configStandalone.rundEdx = configStandalone.runCompression = configStandalone.runTransformation = configStandalone.testSyncAsync = configStandalone.testSync = 0; - configStandalone.rec.tpc.forceEarlyTransform = 1; - configStandalone.runRefit = false; -#endif #ifndef GPUCA_TPC_GEOMETRY_O2 configStandalone.rec.tpc.mergerReadFromTrackerDirectly = 0; configStandalone.proc.ompKernels = false; @@ -486,7 +477,6 @@ int32_t SetupReconstruction() } } -#ifdef GPUCA_HAVE_O2HEADERS o2::base::Propagator* prop = nullptr; prop = o2::base::Propagator::Instance(true); prop->setGPUField(&rec->GetParam().polynomialField); @@ -500,7 +490,6 @@ int32_t SetupReconstruction() chainTrackingPipeline->SetO2Propagator(prop); } procSet.o2PropagatorUseGPUField = true; -#endif if (rec->Init()) { printf("Error initializing GPUReconstruction!\n"); @@ -680,7 +669,6 @@ int32_t RunBenchmark(GPUReconstruction* recUse, GPUChainTracking* chainTrackingU } } -#ifdef GPUCA_HAVE_O2HEADERS if (tmpRetVal == 0 && configStandalone.testSyncAsync) { if (configStandalone.testSyncAsync) { printf("Running asynchronous phase\n"); @@ -716,7 +704,6 @@ int32_t RunBenchmark(GPUReconstruction* recUse, GPUChainTracking* chainTrackingU } recAsync->ClearAllocatedMemory(); } -#endif if (!configStandalone.proc.doublePipeline) { recUse->ClearAllocatedMemory(); } @@ -787,14 +774,12 @@ int32_t main(int argc, char** argv) chainTrackingPipeline = recPipeline->AddChain(); chainTrackingPipeline->SetQAFromForeignChain(chainTracking); } -#ifdef GPUCA_HAVE_O2HEADERS if (!configStandalone.proc.doublePipeline) { chainITS = rec->AddChain(0); if (configStandalone.testSyncAsync) { chainITSAsync = recAsync->AddChain(0); } } -#endif if (SetupReconstruction()) { return 1; diff --git a/GPU/GPUTracking/Standalone/CMakeLists.txt b/GPU/GPUTracking/Standalone/CMakeLists.txt index 1857d77c11b1a..1f11f0bacffac 100644 --- a/GPU/GPUTracking/Standalone/CMakeLists.txt +++ b/GPU/GPUTracking/Standalone/CMakeLists.txt @@ -122,10 +122,7 @@ if(GPUCA_CONFIG_ROOT) else() add_definitions(-DGPUCA_NO_ROOT) endif() -if(GPUCA_CONFIG_O2_EXTENSIONS) - add_definitions(-DGPUCA_HAVE_O2HEADERS) - find_package(Microsoft.GSL REQUIRED HINTS "$ENV{MS_GSL_ROOT}/share/cmake") -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}) @@ -154,10 +151,8 @@ include_directories(${GPU_DIR}/Common ${GPUTRACKING_DIR}/qa ${GPUTRACKING_DIR}/SliceTracker ${GPUTRACKING_DIR}/DataCompression - ${GPUTRACKING_DIR}/TRDTracking) - -if(GPUCA_CONFIG_O2_EXTENSIONS) -include_directories(${GPUTRACKING_DIR}/TPCClusterFinder + ${GPUTRACKING_DIR}/TRDTracking + ${GPUTRACKING_DIR}/TPCClusterFinder ${GPUTRACKING_DIR}/ITS ${GPUTRACKING_DIR}/Interface ${O2_DIR}/Common/Field/include @@ -190,7 +185,6 @@ include_directories(${GPUTRACKING_DIR}/TPCClusterFinder ${O2_DIR}/Detectors/TRD/base/include ${O2_DIR}/Detectors/TRD/base/src ${O2_DIR}/Framework/Foundation/3rdparty/include) -endif() # Create main targets add_subdirectory(../../ GPU) @@ -203,33 +197,31 @@ target_compile_definitions(ca PUBLIC $) # Add all sources and dependencies to to support based on Config File -if(GPUCA_CONFIG_O2_EXTENSIONS) +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) +if(CONFIG_O2_ITS_TRAITS) 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) - if(CONFIG_O2_ITS_TRAITS) - target_sources(standalone_support PRIVATE - ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/PrimaryVertexContext.cxx - ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/Cluster.cxx - ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/ClusterLines.cxx - ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/TrackerTraitsCPU.cxx - ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/VertexerTraits.cxx - ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/ROframe.cxx) - target_link_libraries(standalone_support PUBLIC Boost::boost) - endif() + ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/PrimaryVertexContext.cxx + ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/Cluster.cxx + ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/ClusterLines.cxx + ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/TrackerTraitsCPU.cxx + ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/VertexerTraits.cxx + ${O2_DIR}/Detectors/ITSMFT/ITS/tracking/src/ROframe.cxx) + target_link_libraries(standalone_support PUBLIC Boost::boost) endif() if(GPUCA_CONFIG_FMT) @@ -258,9 +250,7 @@ if(GPUCA_CONFIG_ROOT) ROOT::Gui ROOT::Tree) endif() -if(GPUCA_CONFIG_O2_EXTENSIONS) - target_link_libraries(standalone_support PUBLIC Microsoft.GSL::GSL TPCFastTransformation) -endif() +target_link_libraries(standalone_support PUBLIC Microsoft.GSL::GSL TPCFastTransformation) if(OpenMP_CXX_FOUND) target_link_libraries(ca PUBLIC OpenMP::OpenMP_CXX) diff --git a/GPU/GPUTracking/Standalone/cmake/config.cmake b/GPU/GPUTracking/Standalone/cmake/config.cmake index d8ba50bfee804..97091d833efd8 100644 --- a/GPU/GPUTracking/Standalone/cmake/config.cmake +++ b/GPU/GPUTracking/Standalone/cmake/config.cmake @@ -19,7 +19,6 @@ set(CONFIG_OPENMP 1) set(GPUCA_CONFIG_VC 1) set(GPUCA_CONFIG_FMT 1) set(GPUCA_CONFIG_ROOT 1) -set(GPUCA_CONFIG_O2_EXTENSIONS 1) set(GPUCA_BUILD_EVENT_DISPLAY 1) set(GPUCA_BUILD_EVENT_DISPLAY_FREETYPE 1) set(GPUCA_BUILD_EVENT_DISPLAY_VULKAN 1) diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFChargeMapFiller.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFChargeMapFiller.h index 44df676c0d73e..f7aab78c33bd1 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFChargeMapFiller.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFChargeMapFiller.h @@ -41,13 +41,11 @@ class GPUTPCCFChargeMapFiller : public GPUKernelTemplate findFragmentStart, }; -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFCheckPadBaseline.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFCheckPadBaseline.h index 670eb3a8700c6..d6daa6803ca39 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFCheckPadBaseline.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFCheckPadBaseline.h @@ -37,13 +37,11 @@ class GPUTPCCFCheckPadBaseline : public GPUKernelTemplate tpccf::Charge charges[PadsPerCacheline][NumOfCachedTimebins]; }; -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFClusterizer.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFClusterizer.h index c04a9e167529f..411c38c39459e 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFClusterizer.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFClusterizer.h @@ -43,13 +43,11 @@ class GPUTPCCFClusterizer : public GPUKernelTemplate uint8_t innerAboveThreshold[SCRATCH_PAD_WORK_GROUP_SIZE]; }; -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFDecodeZS.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFDecodeZS.h index abd6deefd4c28..e476674e030f9 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFDecodeZS.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFDecodeZS.h @@ -47,13 +47,11 @@ class GPUTPCCFDecodeZS : public GPUKernelTemplate static GPUd() void decode(GPUTPCClusterFinder& clusterer, GPUSharedMemory& s, int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, int32_t firstHBF); -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { @@ -68,13 +66,11 @@ class GPUTPCCFDecodeZSLinkBase : public GPUKernelTemplate { public: -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFDeconvolution.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFDeconvolution.h index e907728e089b9..78fcc8ba1785a 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFDeconvolution.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFDeconvolution.h @@ -36,13 +36,11 @@ class GPUTPCCFDeconvolution : public GPUKernelTemplate uint8_t buf[SCRATCH_PAD_WORK_GROUP_SIZE * SCRATCH_PAD_COUNT_N]; }; -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFGather.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFGather.h index a7b3b4938b1dd..210853237b86e 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFGather.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFGather.h @@ -26,13 +26,11 @@ class GPUTPCClusterFinder; class GPUTPCCFGather : public GPUKernelTemplate { public: -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFMCLabelFlattener.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFMCLabelFlattener.h index 6bde9bf468eaa..6bdec7760527c 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFMCLabelFlattener.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFMCLabelFlattener.h @@ -38,13 +38,11 @@ class GPUTPCCFMCLabelFlattener : public GPUKernelTemplate flatten, }; -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFNoiseSuppression.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFNoiseSuppression.h index a11fbeb7d852f..f5d8f533df651 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFNoiseSuppression.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFNoiseSuppression.h @@ -40,13 +40,11 @@ class GPUTPCCFNoiseSuppression : public GPUKernelTemplate PackedCharge buf[SCRATCH_PAD_WORK_GROUP_SIZE * SCRATCH_PAD_NOISE_N]; }; -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFPeakFinder.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFPeakFinder.h index 5cb5b208c2fde..ec17d98322239 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFPeakFinder.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFPeakFinder.h @@ -36,13 +36,11 @@ class GPUTPCCFPeakFinder : public GPUKernelTemplate PackedCharge buf[SCRATCH_PAD_WORK_GROUP_SIZE * SCRATCH_PAD_SEARCH_N]; }; -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFStreamCompaction.h b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFStreamCompaction.h index 9de0aab11e6f1..25d3588be6d17 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFStreamCompaction.h +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFStreamCompaction.h @@ -38,13 +38,11 @@ class GPUTPCCFStreamCompaction : public GPUKernelTemplate struct GPUSharedMemory : public GPUKernelTemplate::GPUSharedMemoryScan64 { }; -#ifdef GPUCA_HAVE_O2HEADERS typedef GPUTPCClusterFinder processorType; GPUhdi() static processorType* Processor(GPUConstantMem& processors) { return processors.tpcClusterer; } -#endif GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { diff --git a/GPU/GPUTracking/TRDTracking/GPUTRDGeometry.h b/GPU/GPUTracking/TRDTracking/GPUTRDGeometry.h index 8564b0ea7371c..2af6fbf922ed4 100644 --- a/GPU/GPUTracking/TRDTracking/GPUTRDGeometry.h +++ b/GPU/GPUTracking/TRDTracking/GPUTRDGeometry.h @@ -17,8 +17,6 @@ #include "GPUCommonDef.h" -#if defined(GPUCA_HAVE_O2HEADERS) //&& defined(GPUCA_GPUCODE) - class TObjArray; #include "GPUDef.h" #include "TRDBase/GeometryFlat.h" @@ -83,75 +81,4 @@ class GPUTRDGeometry : private o2::trd::GeometryFlat } // namespace gpu } // namespace o2 -#else // below are dummy definitions to enable building the standalone version without O2 Headers - -#include "GPUDef.h" - -namespace o2 -{ -namespace gpu -{ - -class TGeoHMatrix -{ - public: - template - GPUd() void LocalToMaster(T*, T*) const - { - } -}; - -class GPUTRDpadPlane -{ - public: - GPUd() float GetTiltingAngle() const { return 0; } - GPUd() float GetRowSize(int32_t row) const { return 0; } - GPUd() float GetRowPos(int32_t row) const { return 0; } - GPUd() float GetRow0() const { return 0; } - GPUd() float GetRowEnd() const { return 0; } - GPUd() float GetCol0() const { return 0; } - GPUd() float GetColEnd() const { return 0; } - GPUd() float GetColPos(int32_t col) const { return 0; } - GPUd() float GetNrows() const { return 0; } - GPUd() int32_t GetPadRowNumber(double z) const { return 0; } -}; - -class GPUTRDGeometry -{ - public: - GPUd() static bool CheckGeometryAvailable() { return false; } - void clearInternalBufferUniquePtr() const {} - - // Make sub-functionality available directly in GPUTRDGeometry - GPUd() float GetPadPlaneWidthIPad(int32_t det) const { return 0; } - GPUd() float GetPadPlaneRowPos(int32_t layer, int32_t stack, int32_t row) const { return 0; } - GPUd() float GetPadPlaneRowSize(int32_t layer, int32_t stack, int32_t row) const { return 0; } - GPUd() int32_t GetGeomManagerVolUID(int32_t det, int32_t modId) const { return 0; } - - // Base functionality of Geometry - GPUd() float GetTime0(int32_t layer) const { return 0; } - GPUd() float GetCol0(int32_t layer) const { return 0; } - GPUd() float GetCdrHght() const { return 0; } - GPUd() int32_t GetLayer(int32_t det) const { return 0; } - GPUd() bool CreateClusterMatrixArray() const { return false; } - GPUd() float AnodePos() const { return 0; } - GPUd() const TGeoHMatrix* GetClusterMatrix(int32_t det) const { return nullptr; } - GPUd() int32_t GetDetector(int32_t layer, int32_t stack, int32_t sector) const { return 0; } - GPUd() const GPUTRDpadPlane* GetPadPlane(int32_t layer, int32_t stack) const { return nullptr; } - GPUd() const GPUTRDpadPlane* GetPadPlane(int32_t detector) const { return nullptr; } - GPUd() int32_t GetSector(int32_t det) const { return 0; } - GPUd() int32_t GetStack(int32_t det) const { return 0; } - GPUd() int32_t GetStack(float z, int32_t layer) const { return 0; } - GPUd() float GetAlpha() const { return 0; } - GPUd() bool IsHole(int32_t la, int32_t st, int32_t se) const { return false; } - GPUd() int32_t GetRowMax(int32_t layer, int32_t stack, int32_t /* sector */) const { return 0; } - GPUd() bool ChamberInGeometry(int32_t det) const { return false; } - - static constexpr const int32_t kNstack = 0; -}; -} // namespace gpu -} // namespace o2 - -#endif // !defined(GPUCA_HAVE_O2HEADERS) - #endif // GPUTRDGEOMETRY_H diff --git a/GPU/GPUTracking/TRDTracking/GPUTRDInterfaces.h b/GPU/GPUTracking/TRDTracking/GPUTRDInterfaces.h index 16347aae5c535..7aed063f05ad9 100644 --- a/GPU/GPUTracking/TRDTracking/GPUTRDInterfaces.h +++ b/GPU/GPUTracking/TRDTracking/GPUTRDInterfaces.h @@ -34,8 +34,6 @@ class propagatorInterface; } // namespace gpu } // namespace o2 -#if defined(GPUCA_HAVE_O2HEADERS) // Interface for O2, build only with O2 - #include "DetectorsBase/Propagator.h" #include "GPUTRDInterfaceO2Track.h" @@ -92,15 +90,11 @@ class propagatorInterface } // namespace gpu } // namespace o2 -#endif // GPUCA_HAVE_O2HEADERS - #include "GPUTPCGMPropagator.h" #include "GPUParam.h" #include "GPUDef.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTPC/TrackTPC.h" #include "ReconstructionDataFormats/TrackTPCITS.h" -#endif namespace o2 { @@ -126,7 +120,6 @@ class trackInterface : public GPUTPCGMTrackParam }; GPUdDefault() trackInterface(const trackInterface& param) = default; GPUdDefault() trackInterface& operator=(const trackInterface& param) = default; -#if defined(GPUCA_HAVE_O2HEADERS) GPUd() trackInterface(const o2::dataformats::TrackTPCITS& param) : GPUTPCGMTrackParam(), mAlpha(param.getParamOut().getAlpha()) { SetX(param.getParamOut().getX()); @@ -151,7 +144,6 @@ class trackInterface : public GPUTPCGMTrackParam SetCov(i, param.getParamOut().getCov()[i]); } } -#endif GPUd() float getX() const { diff --git a/GPU/GPUTracking/TRDTracking/GPUTRDTracker.cxx b/GPU/GPUTracking/TRDTracking/GPUTRDTracker.cxx index c14e61071e2d8..c44b4c09a3d7a 100644 --- a/GPU/GPUTracking/TRDTracking/GPUTRDTracker.cxx +++ b/GPU/GPUTracking/TRDTracking/GPUTRDTracker.cxx @@ -1112,11 +1112,7 @@ namespace o2 { namespace gpu { -// instantiate version for AliExternalTrackParam / o2::TrackParCov data types -#if defined(GPUCA_HAVE_O2HEADERS) template class GPUTRDTracker_t; -#endif -// always instantiate version for GPU Track Model template class GPUTRDTracker_t; } // namespace gpu } // namespace o2 diff --git a/GPU/GPUTracking/TRDTracking/GPUTRDTrackerKernels.cxx b/GPU/GPUTracking/TRDTracking/GPUTRDTrackerKernels.cxx index 376194e4a586c..eb9eecfe6e846 100644 --- a/GPU/GPUTracking/TRDTracking/GPUTRDTrackerKernels.cxx +++ b/GPU/GPUTracking/TRDTracking/GPUTRDTrackerKernels.cxx @@ -41,7 +41,5 @@ GPUdii() void GPUTRDTrackerKernels::Thread(int32_t nBlocks, int32_t nThreads, in #if !defined(GPUCA_GPUCODE) || defined(GPUCA_GPUCODE_DEVICE) // FIXME: DR: WORKAROUND to avoid CUDA bug creating host symbols for device code. template GPUdni() void GPUTRDTrackerKernels::Thread<0>(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& processors, GPUTRDTrackerGPU* externalInstance); -#ifdef GPUCA_HAVE_O2HEADERS template GPUdni() void GPUTRDTrackerKernels::Thread<1>(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& processors, GPUTRDTracker* externalInstance); -#endif // GPUCA_HAVE_O2HEADERS #endif diff --git a/GPU/GPUTracking/dEdx/GPUdEdx.h b/GPU/GPUTracking/dEdx/GPUdEdx.h index 8cff279076348..4604a8cdbdf70 100644 --- a/GPU/GPUTracking/dEdx/GPUdEdx.h +++ b/GPU/GPUTracking/dEdx/GPUdEdx.h @@ -20,28 +20,14 @@ #include "GPUCommonMath.h" #include "GPUParam.h" #include "GPUdEdxInfo.h" -#if defined(GPUCA_HAVE_O2HEADERS) #include "DataFormatsTPC/Defs.h" #include "CalibdEdxContainer.h" #include "GPUDebugStreamer.h" -#endif namespace o2 { namespace gpu { -#if !defined(GPUCA_HAVE_O2HEADERS) - -class GPUdEdx -{ - public: - GPUd() void clear() {} - GPUd() void fillCluster(float qtot, float qmax, int32_t padRow, uint8_t slice, float trackSnp, float trackTgl, const GPUParam& param, const GPUCalibObjectsConst& calib, float z, float pad, float relTime) {} - GPUd() void fillSubThreshold(int32_t padRow, const GPUParam& param) {} - GPUd() void computedEdx(GPUdEdxInfo& output, const GPUParam& param) {} -}; - -#else class GPUdEdx { @@ -212,7 +198,6 @@ GPUdi() void GPUdEdx::fillSubThreshold(int32_t padRow, const GPUParam& GPUrestri mNSubThresh++; } -#endif // !GPUCA_HAVE_O2HEADERS } // namespace gpu } // namespace o2 diff --git a/GPU/GPUTracking/display/render/GPUDisplayDraw.cxx b/GPU/GPUTracking/display/render/GPUDisplayDraw.cxx index 3d15077c8cf10..b1685fc61fc2c 100644 --- a/GPU/GPUTracking/display/render/GPUDisplayDraw.cxx +++ b/GPU/GPUTracking/display/render/GPUDisplayDraw.cxx @@ -31,12 +31,10 @@ #include -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsITS/TrackITS.h" #include "SimulationDataFormat/MCCompLabel.h" #include "SimulationDataFormat/ConstMCTruthContainer.h" #include "GPUTrackParamConvert.h" -#endif #ifdef WITH_OPENMP #include @@ -304,14 +302,12 @@ GPUDisplay::vboList GPUDisplay::DrawTracks(const GPUTPCTracker& tracker, int32_t void GPUDisplay::DrawTrackITS(int32_t trackId, int32_t iSlice) { -#ifdef GPUCA_HAVE_O2HEADERS const auto& trk = mIOPtrs->itsTracks[trackId]; for (int32_t k = 0; k < trk.getNClusters(); k++) { int32_t cid = mIOPtrs->itsTrackClusIdx[trk.getFirstClusterEntry() + k]; mVertexBuffer[iSlice].emplace_back(mGlobalPosITS[cid].x, mGlobalPosITS[cid].y * mYFactor, mCfgH.projectXY ? 0 : mGlobalPosITS[cid].z); mGlobalPosITS[cid].w = tITSATTACHED; } -#endif } GPUDisplay::vboList GPUDisplay::DrawFinalITS() @@ -402,9 +398,7 @@ void GPUDisplay::DrawFinal(int32_t iSlice, int32_t /*iCol*/, GPUTPCGMPropagator* if (std::is_same_v || (!mIOPtrs->tpcLinkTRD && mIOPtrs->trdTracksO2)) { if (mChain && ((int32_t)mConfig.showTPCTracksFromO2Format == (int32_t)mChain->GetProcessingSettings().trdTrackModelO2) && mTRDTrackIds[i] != -1 && mIOPtrs->nTRDTracklets) { if (mIOPtrs->trdTracksO2) { -#ifdef GPUCA_HAVE_O2HEADERS tmpDoTRDTracklets(mIOPtrs->trdTracksO2[mTRDTrackIds[i]]); -#endif } else { tmpDoTRDTracklets(mIOPtrs->trdTracks[mTRDTrackIds[i]]); } @@ -697,7 +691,6 @@ GPUDisplay::vboList GPUDisplay::DrawGridTRD(int32_t sector) // TODO: tilted pads ignored at the moment size_t startCount = mVertexBufferStart[sector].size(); size_t startCountInner = mVertexBuffer[sector].size(); -#ifdef GPUCA_HAVE_O2HEADERS auto* geo = trdGeometry(); if (geo) { int32_t trdsector = NSLICES / 2 - 1 - sector; @@ -756,7 +749,6 @@ GPUDisplay::vboList GPUDisplay::DrawGridTRD(int32_t sector) } } } -#endif insertVertexList(sector, startCountInner, mVertexBuffer[sector].size()); return (vboList(startCount, mVertexBufferStart[sector].size() - startCount, sector)); } @@ -908,12 +900,9 @@ size_t GPUDisplay::DrawGLScene_updateVertexList() for (int32_t iCol = 0; iCol < mNCollissions; iCol++) { mThreadBuffers[numThread].clear(); for (int32_t iSet = 0; iSet < numThreads; iSet++) { -#ifdef GPUCA_HAVE_O2HEADERS if (mConfig.showTPCTracksFromO2Format) { DrawFinal(iSlice, iCol, &prop, mThreadTracks[iSet][iCol][iSlice], mThreadBuffers[numThread]); - } else -#endif - { + } else { DrawFinal(iSlice, iCol, &prop, mThreadTracks[iSet][iCol][iSlice], mThreadBuffers[numThread]); } } diff --git a/GPU/GPUTracking/display/render/GPUDisplayImportEvent.cxx b/GPU/GPUTracking/display/render/GPUDisplayImportEvent.cxx index 56ce3bef39082..aaa03b8a24d18 100644 --- a/GPU/GPUTracking/display/render/GPUDisplayImportEvent.cxx +++ b/GPU/GPUTracking/display/render/GPUDisplayImportEvent.cxx @@ -24,13 +24,11 @@ #include "GPUTRDTrackletWord.h" #include "GPUParam.inc" -#ifdef GPUCA_HAVE_O2HEADERS #include "DataFormatsTOF/Cluster.h" #include "DataFormatsITSMFT/ROFRecord.h" #include "DataFormatsTPC/TrackTPC.h" #include "TOFBase/Geo.h" #include "ITSBase/GeometryTGeo.h" -#endif #ifdef GPUCA_O2_LIB #include "ITSMFTBase/DPLAlpideParam.h" #endif @@ -95,9 +93,7 @@ void GPUDisplay::DrawGLScene_updateEventData() } }; if (mIOPtrs->trdTracksO2) { -#ifdef GPUCA_HAVE_O2HEADERS tmpDoTRDTracklets(mIOPtrs->trdTracksO2); -#endif } else { tmpDoTRDTracklets(mIOPtrs->trdTracks); } @@ -182,10 +178,8 @@ void GPUDisplay::DrawGLScene_updateEventData() for (int32_t i = 0; i < mCurrentSpacePointsTRD; i++) { while (mParam->par.continuousTracking && trdTriggerRecord < (int32_t)mIOPtrs->nTRDTriggerRecords - 1 && mIOPtrs->trdTrackletIdxFirst[trdTriggerRecord + 1] <= i) { trdTriggerRecord++; -#ifdef GPUCA_HAVE_O2HEADERS float trdTime = mIOPtrs->trdTriggerTimes[trdTriggerRecord] * 1e3 / o2::constants::lhc::LHCBunchSpacingNS / o2::tpc::constants::LHCBCPERTIMEBIN; trdZoffset = fabsf(mCalib->fastTransformHelper->getCorrMap()->convVertexTimeToZOffset(0, trdTime, mParam->continuousMaxTimeBin)); -#endif } const auto& sp = mIOPtrs->trdSpacePoints[i]; int32_t iSec = trdGeometry()->GetSector(mIOPtrs->trdTracklets[i].GetDetector()); @@ -213,7 +207,6 @@ void GPUDisplay::DrawGLScene_updateEventData() GPUCA_OPENMP(parallel for num_threads(getNumThreads()) reduction(max : mMaxClusterZ)) for (int32_t i = 0; i < mCurrentClustersTOF; i++) { -#ifdef GPUCA_HAVE_O2HEADERS float4* ptr = &mGlobalPosTOF[i]; mParam->Slice2Global(mIOPtrs->tofClusters[i].getSector(), mIOPtrs->tofClusters[i].getX() + mCfgH.xAdd, mIOPtrs->tofClusters[i].getY(), mIOPtrs->tofClusters[i].getZ(), &ptr->x, &ptr->y, &ptr->z); float ZOffset = 0; @@ -229,11 +222,9 @@ void GPUDisplay::DrawGLScene_updateEventData() ptr->y *= GL_SCALE_FACTOR; ptr->z *= GL_SCALE_FACTOR; ptr->w = tTOFCLUSTER; -#endif } if (mCurrentClustersITS) { -#ifdef GPUCA_HAVE_O2HEADERS float itsROFhalfLen = 0; #ifdef GPUCA_O2_LIB // Not available in standalone benchmark if (mParam->par.continuousTracking) { @@ -271,6 +262,5 @@ void GPUDisplay::DrawGLScene_updateEventData() i++; } } -#endif } } diff --git a/GPU/GPUTracking/kernels.cmake b/GPU/GPUTracking/kernels.cmake index c46419c439eb0..57f0cce4989f3 100644 --- a/GPU/GPUTracking/kernels.cmake +++ b/GPU/GPUTracking/kernels.cmake @@ -17,7 +17,6 @@ o2_gpu_kernel_file_list(TPCTRACKER ERRORS GPUTPCTrackParam.cxx GPUTPCTrack.cxx G o2_gpu_kernel_file_list(TPCTRACKLETCONS GPUTPCTrackletConstructor.cxx) o2_gpu_kernel_file_list(TPCSLICEDATA TPCTRACKER GPUTPCSliceData.cxx) o2_gpu_kernel_file_list(TPCOCCUPANCY GPUTPCClusterOccupancyMap.cxx) -if(ALIGPU_BUILD_TYPE STREQUAL "O2" OR GPUCA_CONFIG_O2_EXTENSIONS) o2_gpu_kernel_file_list(TPCDEDX GPUdEdx.cxx) o2_gpu_kernel_file_list(MATLUT MatLayerCylSet.cxx MatLayerCyl.cxx Ray.cxx) o2_gpu_kernel_file_list(TPCMERGER ERRORS GPUTPCGMMerger.cxx GPUTPCGMSliceTrack.cxx GPUTPCGMTrackParam.cxx GPUTPCGMPhysicalTrackModel.cxx GPUTPCGMPropagator.cxx) @@ -27,11 +26,6 @@ o2_gpu_kernel_file_list(TPCDECOMPRESSION GPUTPCCompressionTrackModel.cxx ERRORS) o2_gpu_kernel_file_list(TPCCLUSTERFINDER ERRORS ClusterAccumulator.cxx) o2_gpu_kernel_file_list(TRDTRACKER GPUTRDTrack.cxx GPUTRDTracker.cxx GPUTRDTrackletWord.cxx GeometryBase.cxx) o2_gpu_kernel_file_list(GLOBALREFIT TPCMERGER O2PROPAGATOR MATLUT GPUTrackingRefit.cxx) -else() -o2_gpu_kernel_file_list(TPCDEDX) -o2_gpu_kernel_file_list(MATLUT) -o2_gpu_kernel_file_list(TPCMERGER) -endif() o2_gpu_add_kernel("GPUTPCNeighboursFinder" "= TPCTRACKER" LB single) o2_gpu_add_kernel("GPUTPCNeighboursCleaner" "= TPCTRACKER" LB single) @@ -88,8 +82,6 @@ o2_gpu_add_kernel("GPUTPCGMMergerFinalize, step2" "GPUTPCGMM o2_gpu_add_kernel("GPUTPCGMMergerMergeLoopers, step0" "GPUTPCGMMergerGPU TPCMERGER" LB simple) o2_gpu_add_kernel("GPUTPCGMMergerMergeLoopers, step1" "GPUTPCGMMergerGPU TPCMERGER" LB simple) o2_gpu_add_kernel("GPUTPCGMMergerMergeLoopers, step2" "GPUTPCGMMergerGPU TPCMERGER" LB simple) - -if(ALIGPU_BUILD_TYPE STREQUAL "O2" OR GPUCA_CONFIG_O2_EXTENSIONS) o2_gpu_add_kernel("GPUTPCGMO2Output, prepare" "= TPCMERGER" LB simple) o2_gpu_add_kernel("GPUTPCGMO2Output, sort" "= TPCMERGER" NO simple) o2_gpu_add_kernel("GPUTPCGMO2Output, output" "= TPCMERGER" LB simple) @@ -132,4 +124,3 @@ o2_gpu_add_kernel("GPUTPCCFDecodeZSDenseLink" "GPUTPCCFD o2_gpu_add_kernel("GPUTPCCFGather" "=" LB single o2::tpc::ClusterNative* dest) o2_gpu_add_kernel("GPUTrackingRefitKernel, mode0asGPU" "= GLOBALREFIT " LB simple) o2_gpu_add_kernel("GPUTrackingRefitKernel, mode1asTrackParCov" "= GLOBALREFIT " LB simple) -endif() diff --git a/GPU/GPUTracking/qa/GPUQA.cxx b/GPU/GPUTracking/qa/GPUQA.cxx index 34318a1bab613..2aa0611b33779 100644 --- a/GPU/GPUTracking/qa/GPUQA.cxx +++ b/GPU/GPUTracking/qa/GPUQA.cxx @@ -52,10 +52,8 @@ #include "TPCFastTransform.h" #include "CorrectionMapsHelper.h" #include "GPUROOTDump.h" -#ifdef GPUCA_HAVE_O2HEADERS #include "SimulationDataFormat/ConstMCTruthContainer.h" #include "SimulationDataFormat/MCCompLabel.h" -#endif #ifdef GPUCA_O2_LIB #include "DetectorsRaw/HBFUtils.h" #include "DataFormatsTPC/TrackTPC.h" diff --git a/GPU/TPCFastTransformation/CMakeLists.txt b/GPU/TPCFastTransformation/CMakeLists.txt index 32c22c5193603..133bf35281b55 100644 --- a/GPU/TPCFastTransformation/CMakeLists.txt +++ b/GPU/TPCFastTransformation/CMakeLists.txt @@ -60,8 +60,6 @@ if(${ALIGPU_BUILD_TYPE} STREQUAL "O2") Vc::Vc ROOT::Core ROOT::Matrix ROOT::Tree ROOT::Gpad ROOT::Minuit ) - target_compile_definitions(${targetName} PRIVATE GPUCA_HAVE_O2HEADERS) - o2_target_root_dictionary(${MODULE} HEADERS ${HDRS_CINT_O2} LINKDEF TPCFastTransformationLinkDef_O2.h) diff --git a/GPU/Utils/CMakeLists.txt b/GPU/Utils/CMakeLists.txt index e4612e6a9490f..01ca3eb59c029 100644 --- a/GPU/Utils/CMakeLists.txt +++ b/GPU/Utils/CMakeLists.txt @@ -31,8 +31,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2") HEADERS ${HDRS_CINT} LINKDEF GPUUtilsLinkDef.h) - target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB - GPUCA_TPC_GEOMETRY_O2 GPUCA_HAVE_O2HEADERS) + target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2) install(FILES ${HDRS_CINT} ${HDRS_INSTALL} DESTINATION include/GPU) endif()