CMS 3D CMS Logo

SharedEventPtr.h
Go to the documentation of this file.
1 #ifndef HeterogeneousCore_CUDAUtilities_SharedEventPtr_h
2 #define HeterogeneousCore_CUDAUtilities_SharedEventPtr_h
3 
4 #include <memory>
5 #include <type_traits>
6 
7 #include <cuda_runtime.h>
8 
9 namespace cms {
10  namespace cuda {
11  // cudaEvent_t itself is a typedef for a pointer, for the use with
12  // edm::ReusableObjectHolder the pointed-to type is more interesting
13  // to avoid extra layer of indirection
14  using SharedEventPtr = std::shared_ptr<std::remove_pointer_t<cudaEvent_t>>;
15  } // namespace cuda
16 } // namespace cms
17 
18 #endif
std::shared_ptr< std::remove_pointer_t< cudaEvent_t > > SharedEventPtr
Namespace of DDCMS conversion namespace.