Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:38:05

0001 #ifndef RecoVertex_PixelVertexFinding_plugins_PixelVertexWorkSpaceSoADevice_h
0002 #define RecoVertex_PixelVertexFinding_plugins_PixelVertexWorkSpaceSoADevice_h
0003 
0004 #include "CUDADataFormats/Common/interface/PortableDeviceCollection.h"
0005 #include "CUDADataFormats/Vertex/interface/ZVertexUtilities.h"
0006 #include "RecoVertex/PixelVertexFinding/plugins/PixelVertexWorkSpaceUtilities.h"
0007 
0008 template <int32_t S>
0009 class PixelVertexWorkSpaceSoADevice : public cms::cuda::PortableDeviceCollection<PixelVertexWSSoALayout<>> {
0010 public:
0011   explicit PixelVertexWorkSpaceSoADevice() = default;
0012 
0013   // Constructor which specifies the SoA size and CUDA stream
0014   explicit PixelVertexWorkSpaceSoADevice(cudaStream_t stream)
0015       : PortableDeviceCollection<PixelVertexWSSoALayout<>>(S, stream) {}
0016 };
0017 
0018 namespace gpuVertexFinder {
0019   namespace workSpace {
0020     using PixelVertexWorkSpaceSoADevice = PixelVertexWorkSpaceSoADevice<zVertex::utilities::MAXTRACKS>;
0021   }
0022 }  // namespace gpuVertexFinder
0023 #endif