Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:45

0001 #ifndef HeterogeneousCore_CUDAUtilities_SharedStreamPtr_h
0002 #define HeterogeneousCore_CUDAUtilities_SharedStreamPtr_h
0003 
0004 #include <memory>
0005 #include <type_traits>
0006 
0007 #include <cuda_runtime.h>
0008 
0009 namespace cms {
0010   namespace cuda {
0011     // cudaStream_t itself is a typedef for a pointer, for the use with
0012     // edm::ReusableObjectHolder the pointed-to type is more interesting
0013     // to avoid extra layer of indirection
0014     using SharedStreamPtr = std::shared_ptr<std::remove_pointer_t<cudaStream_t>>;
0015   }  // namespace cuda
0016 }  // namespace cms
0017 
0018 #endif