ATLAS Offline Software
AthExHIP/src/LinearTransformExampleAlg.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 //
3 // Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4 //
5 #ifndef ATHEXHIP_LINEARTRANSFORMEXAMPLEALG_H
6 #define ATHEXHIP_LINEARTRANSFORMEXAMPLEALG_H
7 
8 // Framework include(s).
10 #include "Gaudi/Property.h"
11 
12 namespace AthHIPExamples {
13 
22 
23  public:
26 
29 
31  virtual StatusCode initialize() override;
33  virtual StatusCode execute( const EventContext& ctx ) const override;
34 
36 
37  private:
39  Gaudi::Property< int > m_hipDevice{ this, "HIPDevice", 0,
40  "The HIP device to use with the algorithm" };
41 
43  Gaudi::Property< unsigned int > m_arraySize{ this, "ArraySize", 10000,
44  "Size of the float array to perform a linear transformation on" };
45 
47  Gaudi::Property< float > m_multiplier{ this, "Multiplier", 1.23f,
48  "Multiplier used in the example linear transformation" };
50  Gaudi::Property< float > m_shift{ this, "Shift", 2.34f,
51  "Shift used in the example linear transformation" };
52 
53  }; // class LinearTransformExampleAlg
54 
55 } // namespace AthHIPExamples
56 
57 #endif // ATHEXHIP_LINEARTRANSFORMEXAMPLEALG_H
AthHIPExamples::LinearTransformExampleAlg::m_shift
Gaudi::Property< float > m_shift
Shift used in the linear transformation.
Definition: AthExHIP/src/LinearTransformExampleAlg.h:50
AthHIPExamples
Definition: HIPFunctions.h:12
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
AthHIPExamples::LinearTransformExampleAlg::m_hipDevice
Gaudi::Property< int > m_hipDevice
The HIP device (ID) to use.
Definition: AthExHIP/src/LinearTransformExampleAlg.h:39
AthHIPExamples::LinearTransformExampleAlg::m_arraySize
Gaudi::Property< unsigned int > m_arraySize
Size of the dummy array to use.
Definition: AthExHIP/src/LinearTransformExampleAlg.h:43
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
AthHIPExamples::LinearTransformExampleAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
The function executing this algorithm.
Definition: LinearTransformExampleAlg.cxx:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthReentrantAlgorithm.h
AthHIPExamples::LinearTransformExampleAlg::initialize
virtual StatusCode initialize() override
The function initialising the algorithm.
Definition: LinearTransformExampleAlg.cxx:16
AthHIPExamples::LinearTransformExampleAlg::m_multiplier
Gaudi::Property< float > m_multiplier
The multiplier of the linear transformation.
Definition: AthExHIP/src/LinearTransformExampleAlg.h:47
AthHIPExamples::LinearTransformExampleAlg
Example algorithm running a very simple operation using SYCL.
Definition: AthExHIP/src/LinearTransformExampleAlg.h:21