diff --git a/CUDADataFormats/HcalCommon/BuildFile.xml b/CUDADataFormats/CaloCommon/BuildFile.xml similarity index 100% rename from CUDADataFormats/HcalCommon/BuildFile.xml rename to CUDADataFormats/CaloCommon/BuildFile.xml diff --git a/CUDADataFormats/HcalCommon/interface/Common.h b/CUDADataFormats/CaloCommon/interface/Common.h similarity index 55% rename from CUDADataFormats/HcalCommon/interface/Common.h rename to CUDADataFormats/CaloCommon/interface/Common.h index 1a2592889a6c7..ca5ce8ed734bb 100644 --- a/CUDADataFormats/HcalCommon/interface/Common.h +++ b/CUDADataFormats/CaloCommon/interface/Common.h @@ -1,11 +1,12 @@ -#ifndef CUDADataFormats_HcalCommon_interface_Common_h -#define CUDADataFormats_HcalCommon_interface_Common_h +#ifndef CUDADataFormats_CaloCommon_interface_Common_h +#define CUDADataFormats_CaloCommon_interface_Common_h #include #include "HeterogeneousCore/CUDAUtilities/interface/HostAllocator.h" +#include "HeterogeneousCore/CUDAUtilities/interface/device_unique_ptr.h" -namespace hcal { +namespace calo { namespace common { // FIXME: not able to get enums to work with genreflex @@ -13,6 +14,7 @@ namespace hcal { struct Vec {}; struct Ptr {}; + struct DevPtr {}; } // namespace tags @@ -24,6 +26,11 @@ namespace hcal { uint32_t size; }; + template<> + struct AddSize { + uint32_t size; + }; + struct ViewStoragePolicy { using TagType = tags::Ptr; @@ -33,6 +40,15 @@ namespace hcal { }; }; + struct DevStoragePolicy { + using TagType = tags::DevPtr; + + template + struct StorageSelector { + using type = cms::cuda::device::unique_ptr; + }; + }; + template