ATLAS Offline Software
Loading...
Searching...
No Matches
SeedMakingWorkCuda_ITk.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGINDETCUDA_SEEDMAKINGWORKCUDA_ITK_H
6#define TRIGINDETCUDA_SEEDMAKINGWORKCUDA_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
17
18
20
21public:
22 SeedMakingWorkCudaITk(unsigned int, SeedMakingDeviceContext*, std::shared_ptr<TrigAccel::OffloadBuffer>,
25 std::shared_ptr<TrigAccel::OffloadBuffer> getOutput();
26 bool run();
27 unsigned int getId() const {
28 return m_workId;
29 }
30
31private:
32
33 inline void checkError() const {
34 cudaError_t error = cudaGetLastError();
35 if(error != cudaSuccess) {
36 printf("CUDA error: %s\n", cudaGetErrorString(error));
37 exit(-1);
38 }
39 };
40
41 unsigned int m_workId;
43 std::shared_ptr<TrigAccel::OffloadBuffer> m_input, m_output;
45
47};
48
50
51public:
52 SeedMakingWorkCudaManagedITk(unsigned int, SeedMakingManagedDeviceContext*, std::shared_ptr<TrigAccel::OffloadBuffer>,
55 std::shared_ptr<TrigAccel::OffloadBuffer> getOutput();
56 bool run();
57 unsigned int getId() const {
58 return m_workId;
59 }
60
61private:
62
63 inline void checkError() const {
64 cudaError_t error = cudaGetLastError();
65 if(error != cudaSuccess) {
66 printf("CUDA error: %s\n", cudaGetErrorString(error));
67 exit(-1);
68 }
69 };
70
71 unsigned int m_workId;
73 std::shared_ptr<TrigAccel::OffloadBuffer> m_input, m_output;
75
77};
78
79#endif
std::shared_ptr< TrigAccel::OffloadBuffer > m_output
unsigned int getId() const
SeedMakingWorkCudaITk(unsigned int, SeedMakingDeviceContext *, std::shared_ptr< TrigAccel::OffloadBuffer >, WorkTimeStampQueue *)
std::shared_ptr< TrigAccel::OffloadBuffer > m_input
WorkTimeStampQueue * m_timeLine
SeedMakingDeviceContext * m_context
std::shared_ptr< TrigAccel::OffloadBuffer > getOutput()
std::shared_ptr< TrigAccel::OffloadBuffer > m_input
SeedMakingManagedDeviceContext * m_context
std::shared_ptr< TrigAccel::OffloadBuffer > m_output
std::shared_ptr< TrigAccel::OffloadBuffer > getOutput()
SeedMakingWorkCudaManagedITk(unsigned int, SeedMakingManagedDeviceContext *, std::shared_ptr< TrigAccel::OffloadBuffer >, WorkTimeStampQueue *)