17 #include <unordered_set>
23 inline namespace _V1 {
32 using EventImplPtr = std::shared_ptr<sycl::detail::event_impl>;
46 std::mutex MInitEventMutex;
47 std::optional<sycl::detail::pi::PiEvent> MInitEvent;
58 std::unordered_set<RTDeviceBinaryImage *>
MImages;
75 std::uint32_t DeviceGlobalTSize,
76 bool IsDeviceImageScopeDecorated)
84 assert(DeviceGlobalPtr &&
"Device global pointer cannot be null");
86 "Device global pointer has already been initialized.");
93 bool IsDeviceImageScopeDecorated) {
99 "Device global intializations disagree on type size.");
102 "Device global intializations disagree on image scope decoration.");
122 std::map<std::pair<const device_impl *, const context_impl *>,
125 std::mutex MDeviceToUSMPtrMapMutex;
std::shared_ptr< event_impl > EventImplPtr
std::shared_ptr< plugin > PluginPtr
_Abi const simd< _Tp, _Abi > & noexcept
bool MIsDeviceImageScopeDecorated
void initialize(const void *DeviceGlobalPtr)
DeviceGlobalMapEntry(std::string UniqueId, RTDeviceBinaryImage *Img, std::uint32_t DeviceGlobalTSize, bool IsDeviceImageScopeDecorated)
std::set< std::uintptr_t > MImageIdentifiers
DeviceGlobalUSMMem & getOrAllocateDeviceGlobalUSM(const std::shared_ptr< queue_impl > &QueueImpl)
const void * MDeviceGlobalPtr
std::uint32_t MDeviceGlobalTSize
void removeAssociatedResources(const context_impl *CtxImpl)
DeviceGlobalMapEntry(std::string UniqueId, const void *DeviceGlobalPtr)
std::unordered_set< RTDeviceBinaryImage * > MImages
void initialize(RTDeviceBinaryImage *Img, std::uint32_t DeviceGlobalTSize, bool IsDeviceImageScopeDecorated)
OwnedPiEvent getInitEvent(const PluginPtr &Plugin)
void *const & getPtr() const noexcept
DeviceGlobalUSMMem(void *Ptr)