Skip to content

Commit 301c34c

Browse files
committed
ITS: GPU: uses templated Traits/TimeFrame
1 parent 1824d7b commit 301c34c

File tree

11 files changed

+23
-16
lines changed

11 files changed

+23
-16
lines changed

GPU/GPUTracking/Base/GPUReconstruction.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,16 @@ GPUReconstruction::~GPUReconstruction()
111111
}
112112
}
113113

114-
void GPUReconstruction::GetITSTraits(std::unique_ptr<o2::its::TrackerTraits>* trackerTraits, std::unique_ptr<o2::its::VertexerTraits>* vertexerTraits, std::unique_ptr<o2::its::TimeFrame>* timeFrame)
114+
void GPUReconstruction::GetITSTraits(std::unique_ptr<o2::its::TrackerTraits<7>>* trackerTraits, std::unique_ptr<o2::its::VertexerTraits>* vertexerTraits, std::unique_ptr<o2::its::TimeFrame<7>>* timeFrame)
115115
{
116116
if (trackerTraits) {
117-
trackerTraits->reset(new o2::its::TrackerTraits);
117+
trackerTraits->reset(new o2::its::TrackerTraits<7>);
118118
}
119119
if (vertexerTraits) {
120120
vertexerTraits->reset(new o2::its::VertexerTraits);
121121
}
122122
if (timeFrame) {
123-
timeFrame->reset(new o2::its::TimeFrame);
123+
timeFrame->reset(new o2::its::TimeFrame<7>);
124124
}
125125
}
126126

GPU/GPUTracking/Base/GPUReconstruction.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@
3535

3636
namespace o2::its
3737
{
38+
template <int>
3839
class TrackerTraits;
3940
class VertexerTraits;
41+
template <int>
4042
class TimeFrame;
4143
} // namespace o2::its
4244

@@ -188,7 +190,7 @@ class GPUReconstruction
188190
GPUMemorySizeScalers* MemoryScalers() { return mMemoryScalers.get(); }
189191

190192
// Helpers to fetch processors from other shared libraries
191-
virtual void GetITSTraits(std::unique_ptr<o2::its::TrackerTraits>* trackerTraits, std::unique_ptr<o2::its::VertexerTraits>* vertexerTraits, std::unique_ptr<o2::its::TimeFrame>* timeFrame);
193+
virtual void GetITSTraits(std::unique_ptr<o2::its::TrackerTraits<7>>* trackerTraits, std::unique_ptr<o2::its::VertexerTraits>* vertexerTraits, std::unique_ptr<o2::its::TimeFrame<7>>* timeFrame);
192194
bool slavesExist() { return mSlaves.size() || mMaster; }
193195
int slaveId() { return mSlaveId; }
194196

GPU/GPUTracking/Base/GPUReconstructionIncludesITS.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ namespace o2::its
3030
class VertexerTraits
3131
{
3232
};
33+
template <int>
3334
class TrackerTraits
3435
{
3536
};
37+
template <int>
3638
class TimeFrame
3739
{
3840
};

GPU/GPUTracking/Base/cuda/GPUReconstructionCUDA.cu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ int32_t GPUReconstructionCUDA::GPUChkErrInternal(const int64_t error, const char
8787

8888
GPUReconstruction* GPUReconstruction_Create_CUDA(const GPUSettingsDeviceBackend& cfg) { return new GPUReconstructionCUDA(cfg); }
8989

90-
void GPUReconstructionCUDA::GetITSTraits(std::unique_ptr<o2::its::TrackerTraits>* trackerTraits, std::unique_ptr<o2::its::VertexerTraits>* vertexerTraits, std::unique_ptr<o2::its::TimeFrame>* timeFrame)
90+
void GPUReconstructionCUDA::GetITSTraits(std::unique_ptr<o2::its::TrackerTraits<7>>* trackerTraits, std::unique_ptr<o2::its::VertexerTraits>* vertexerTraits, std::unique_ptr<o2::its::TimeFrame<7>>* timeFrame)
9191
{
9292
if (trackerTraits) {
9393
trackerTraits->reset(new o2::its::TrackerTraitsGPU);

GPU/GPUTracking/Base/cuda/GPUReconstructionCUDA.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ class GPUReconstructionCUDA : public GPUReconstructionProcessing::KernelInterfac
7676
void RecordMarker(deviceEvent* ev, int32_t stream) override;
7777
void SetONNXGPUStream(Ort::SessionOptions& session_options, int32_t stream, int32_t* deviceId) override;
7878

79-
void GetITSTraits(std::unique_ptr<o2::its::TrackerTraits>* trackerTraits, std::unique_ptr<o2::its::VertexerTraits>* vertexerTraits, std::unique_ptr<o2::its::TimeFrame>* timeFrame) override;
79+
void GetITSTraits(std::unique_ptr<o2::its::TrackerTraits<7>>* trackerTraits, std::unique_ptr<o2::its::VertexerTraits>* vertexerTraits, std::unique_ptr<o2::its::TimeFrame<7>>* timeFrame) override;
8080

8181
#ifndef __HIPCC__ // CUDA
8282
bool CanQueryMaxMemory() override { return true; }

GPU/GPUTracking/Global/GPUChainITS.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ void GPUChainITS::MemorySize(size_t& gpuMem, size_t& pageLockedHostMem)
6363

6464
int32_t GPUChainITS::Init() { return 0; }
6565

66-
o2::its::TrackerTraits* GPUChainITS::GetITSTrackerTraits()
66+
o2::its::TrackerTraits<7>* GPUChainITS::GetITSTrackerTraits()
6767
{
6868
if (mITSTrackerTraits == nullptr) {
6969
mRec->GetITSTraits(&mITSTrackerTraits, nullptr, nullptr);
@@ -79,7 +79,7 @@ o2::its::VertexerTraits* GPUChainITS::GetITSVertexerTraits()
7979
return mITSVertexerTraits.get();
8080
}
8181

82-
o2::its::TimeFrame* GPUChainITS::GetITSTimeframe()
82+
o2::its::TimeFrame<7>* GPUChainITS::GetITSTimeframe()
8383
{
8484
if (mITSTimeFrame == nullptr) {
8585
mRec->GetITSTraits(nullptr, nullptr, &mITSTimeFrame);

GPU/GPUTracking/Global/GPUChainITS.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ class GPUChainITS : public GPUChain
4343
int32_t RunChain() override;
4444
void MemorySize(size_t& gpuMem, size_t& pageLockedHostMem) override;
4545

46-
o2::its::TrackerTraits* GetITSTrackerTraits();
46+
o2::its::TrackerTraits<7>* GetITSTrackerTraits();
4747
o2::its::VertexerTraits* GetITSVertexerTraits();
48-
o2::its::TimeFrame* GetITSTimeframe();
48+
o2::its::TimeFrame<7>* GetITSTimeframe();
4949

5050
protected:
5151
GPUChainITS(GPUReconstruction* rec, uint32_t maxTracks = GPUCA_MAX_ITS_FIT_TRACKS);
52-
std::unique_ptr<o2::its::TrackerTraits> mITSTrackerTraits;
52+
std::unique_ptr<o2::its::TrackerTraits<7>> mITSTrackerTraits;
5353
std::unique_ptr<o2::its::VertexerTraits> mITSVertexerTraits;
54-
std::unique_ptr<o2::its::TimeFrame> mITSTimeFrame;
54+
std::unique_ptr<o2::its::TimeFrame<7>> mITSTimeFrame;
5555
std::unique_ptr<o2::its::GPUFrameworkExternalAllocator> mFrameworkAllocator;
5656

5757
uint32_t mMaxTracks;

GPU/GPUTracking/Interface/GPUO2Interface.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ void GPUO2Interface::setErrorCodeOutput(std::vector<std::array<uint32_t, 4>>* v)
251251
}
252252
}
253253

254-
void GPUO2Interface::GetITSTraits(o2::its::TrackerTraits*& trackerTraits, o2::its::VertexerTraits*& vertexerTraits, o2::its::TimeFrame*& timeFrame)
254+
void GPUO2Interface::GetITSTraits(o2::its::TrackerTraits<7>*& trackerTraits, o2::its::VertexerTraits*& vertexerTraits, o2::its::TimeFrame<7>*& timeFrame)
255255
{
256256
trackerTraits = mChainITS->GetITSTrackerTraits();
257257
vertexerTraits = mChainITS->GetITSVertexerTraits();

GPU/GPUTracking/Interface/GPUO2Interface.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ struct ClusterNative;
4343

4444
namespace o2::its
4545
{
46+
template <int>
4647
class TrackerTraits;
4748
class VertexerTraits;
49+
template <int>
4850
class TimeFrame;
4951
} // namespace o2::its
5052

@@ -77,7 +79,7 @@ class GPUO2Interface
7779
void DumpEvent(int32_t nEvent, GPUTrackingInOutPointers* data);
7880
void DumpSettings();
7981

80-
void GetITSTraits(o2::its::TrackerTraits*& trackerTraits, o2::its::VertexerTraits*& vertexerTraits, o2::its::TimeFrame*& timeFrame);
82+
void GetITSTraits(o2::its::TrackerTraits<7>*& trackerTraits, o2::its::VertexerTraits*& vertexerTraits, o2::its::TimeFrame<7>*& timeFrame);
8183
const o2::base::Propagator* GetDeviceO2Propagator(int32_t iThread = 0) const;
8284
void UseGPUPolynomialFieldInPropagator(o2::base::Propagator* prop) const;
8385

GPU/Workflow/include/GPUWorkflow/GPUWorkflowSpec.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ class GeometryFlat;
5858

5959
namespace its
6060
{
61+
template <int>
6162
class TimeFrame;
6263
class ITSTrackingInterface;
6364
} // namespace its
@@ -214,7 +215,7 @@ class GPURecoWorkflowSpec : public o2::framework::Task
214215
std::vector<int32_t> mTPCSectors;
215216
std::unique_ptr<o2::its::ITSTrackingInterface> mITSTrackingInterface;
216217
std::unique_ptr<gpurecoworkflow_internals::GPURecoWorkflowSpec_PipelineInternals> mPipeline;
217-
o2::its::TimeFrame* mITSTimeFrame = nullptr;
218+
o2::its::TimeFrame<7>* mITSTimeFrame = nullptr;
218219
std::vector<fair::mq::RegionInfo> mRegionInfos;
219220
const o2::itsmft::TopologyDictionary* mITSDict = nullptr;
220221
const o2::dataformats::MeanVertexObject* mMeanVertex;

0 commit comments

Comments
 (0)