Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
GbtsWorkCuda_ITk.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGINDETCUDA_GBTSWORKCUDA_ITK_H
6 #define TRIGINDETCUDA_GBTSWORKCUDA_ITK_H
7 
8 
9 
10 #include "TrigAccelEvent/Work.h" //base class
11 
12 #include <cstdio> // for printf
13 #include <memory> // for shared_ptr
14 
15 class GbtsDeviceContext;
16 class WorkTimeStampQueue;
17 
19 
20 public:
21  GbtsWorkCudaITk(unsigned int, GbtsDeviceContext*, std::shared_ptr<TrigAccel::OffloadBuffer>,
24  std::shared_ptr<TrigAccel::OffloadBuffer> getOutput();
25  bool run();
26  unsigned int getId() const {
27  return m_workId;
28  }
29 
30 private:
31 
32  inline void checkError() const {
33  cudaError_t error = cudaGetLastError();
34  if(error != cudaSuccess) {
35  printf("CUDA error: %s\n", cudaGetErrorString(error));
36  exit(-1);
37  }
38  };
39 
40  unsigned int m_workId;
42  std::shared_ptr<TrigAccel::OffloadBuffer> m_input, m_output;
44 
45 };
46 
47 #endif
GbtsWorkCudaITk::m_context
GbtsDeviceContext * m_context
Definition: GbtsWorkCuda_ITk.h:41
GbtsWorkCudaITk::m_workId
unsigned int m_workId
Definition: GbtsWorkCuda_ITk.h:38
GbtsWorkCudaITk
Definition: GbtsWorkCuda_ITk.h:18
GbtsWorkCudaITk::getOutput
std::shared_ptr< TrigAccel::OffloadBuffer > getOutput()
GbtsWorkCudaITk::run
bool run()
GbtsWorkCudaITk::GbtsWorkCudaITk
GbtsWorkCudaITk(unsigned int, GbtsDeviceContext *, std::shared_ptr< TrigAccel::OffloadBuffer >, WorkTimeStampQueue *)
calibdata.exit
exit
Definition: calibdata.py:236
GbtsWorkCudaITk::m_input
std::shared_ptr< TrigAccel::OffloadBuffer > m_input
Definition: GbtsWorkCuda_ITk.h:42
GbtsWorkCudaITk::m_output
std::shared_ptr< TrigAccel::OffloadBuffer > m_output
Definition: GbtsWorkCuda_ITk.h:42
TrigAccel::Work
Definition: Work.h:14
WorkTimeStampQueue
Definition: CommonStructures.h:26
GbtsWorkCudaITk::getId
unsigned int getId() const
Definition: GbtsWorkCuda_ITk.h:26
GbtsWorkCudaITk::~GbtsWorkCudaITk
~GbtsWorkCudaITk()
GbtsDeviceContext
Definition: device_context.h:79
GbtsWorkCudaITk::m_timeLine
WorkTimeStampQueue * m_timeLine
Definition: GbtsWorkCuda_ITk.h:43
GbtsWorkCudaITk::checkError
void checkError() const
Definition: GbtsWorkCuda_ITk.h:32
error
Definition: IImpactPoint3dEstimator.h:70
Work.h