CMS 3D CMS Logo

PixelCPEFastParamsDevice.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiPixelRecHits_interface_PixelCPEFastParamsDevice_h
2 #define RecoLocalTracker_SiPixelRecHits_interface_PixelCPEFastParamsDevice_h
3 
4 #include <alpaka/alpaka.hpp>
5 
8 
9 template <typename TDev, typename TrackerTraits>
11 public:
14 
15  template <typename TQueue>
17  : buffer_(cms::alpakatools::make_device_buffer<pixelCPEforDevice::ParamsOnDeviceT<TrackerTraits>>(queue)) {}
18 
19  // non-copyable
22 
23  // movable
26 
27  // default destructor
28  ~PixelCPEFastParamsDevice() = default;
29 
30  // access the buffer
31  Buffer buffer() { return buffer_; }
32  ConstBuffer buffer() const { return buffer_; }
33  ConstBuffer const_buffer() const { return buffer_; }
34 
35  auto size() const { return alpaka::getExtentProduct(buffer_); }
36 
38 
39 private:
41 };
42 
43 #endif // RecoLocalTracker_SiPixelRecHits_interface_PixelCPEFastParamsDevice_h
~PixelCPEFastParamsDevice()=default
std::enable_if_t< alpaka::isDevice< TDev > and not std::is_array_v< T >, device_buffer< TDev, T > > make_device_buffer(TDev const &device)
Definition: memory.h:177
cms::alpakatools::const_device_buffer< TDev, pixelCPEforDevice::ParamsOnDeviceT< TrackerTraits > > ConstBuffer
cms::alpakatools::device_buffer< TDev, pixelCPEforDevice::ParamsOnDeviceT< TrackerTraits > > Buffer
Namespace of DDCMS conversion namespace.
pixelCPEforDevice::ParamsOnDeviceT< TrackerTraits > const * data() const
PixelCPEFastParamsDevice & operator=(PixelCPEFastParamsDevice const &)=delete
typename detail::buffer_type< TDev, T >::type device_buffer
Definition: memory.h:169
alpaka::ViewConst< device_buffer< TDev, T > > const_device_buffer
Definition: memory.h:172