15#ifndef GPUO2INTERFACE_H
16#define GPUO2INTERFACE_H
29template <
typename value_T>
35struct ClusterNativeAccess;
51class GPUReconstruction;
52class GPUChainTracking;
54struct GPUO2InterfaceConfiguration;
55struct GPUInterfaceOutputs;
56struct GPUInterfaceInputUpdate;
57struct GPUTrackingOutputs;
59struct GPUNewCalibValues;
60struct GPUSettingsProcessing;
63struct GPUO2Interface_processingContext;
64struct GPUO2Interface_Internals;
76 void Clear(
bool clearOutputs, uint32_t iThread = 0);
78 void DumpSettings(uint32_t iThread,
const char* dir =
"");
98 bool mContinuous =
false;
100 uint32_t mNContexts = 0;
101 std::unique_ptr<GPUO2Interface_processingContext[]> mCtx;
103 std::unique_ptr<GPUO2InterfaceConfiguration> mConfig;
105 std::unique_ptr<GPUO2Interface_Internals> mInternals;
int32_t unregisterMemoryForGPU(const void *ptr)
const o2::base::Propagator * GetDeviceO2Propagator(int32_t iThread=0) const
int32_t Initialize(const GPUO2InterfaceConfiguration &config)
void GetITSTraits(o2::its::TrackerTraits< 7 > *&trackerTraits, o2::its::VertexerTraits< 7 > *&vertexerTraits, o2::its::TimeFrame< 7 > *&timeFrame)
void DumpSettings(uint32_t iThread, const char *dir="")
void setErrorCodeOutput(std::vector< std::array< uint32_t, 4 > > *v)
void UseGPUPolynomialFieldInPropagator(o2::base::Propagator *prop) const
static void ApplySyncSettings(GPUSettingsProcessing &proc, GPUSettingsRec &rec, gpudatatypes::RecoStepField &steps, bool syncMode, int32_t dEdxMode=-2)
const GPUO2InterfaceConfiguration & getConfig() const
void DumpEvent(int32_t nEvent, GPUTrackingInOutPointers *data, uint32_t iThread, const char *dir="")
int32_t RunTracking(GPUTrackingInOutPointers *data, GPUInterfaceOutputs *outputs=nullptr, uint32_t iThread=0, GPUInterfaceInputUpdate *inputUpdateCallback=nullptr)
int32_t registerMemoryForGPU(const void *ptr, size_t size)
void Clear(bool clearOutputs, uint32_t iThread=0)
int32_t UpdateCalibration(const GPUCalibObjectsConst &newCalib, const GPUNewCalibValues &newVals, uint32_t iThread=0)
Global TPC definitions and constants.