39 : MUniqueId(UniqueId), MDeviceGlobalPtr(DeviceGlobalPtr),
40 MDeviceGlobalTSize(0), MIsDeviceImageScopeDecorated(false) {}
45 bool IsDeviceImageScopeDecorated)
46 : MUniqueId(UniqueId), MDeviceGlobalPtr(nullptr),
47 MDeviceGlobalTSize(DeviceGlobalTSize),
48 MIsDeviceImageScopeDecorated(IsDeviceImageScopeDecorated) {}
52 assert(DeviceGlobalPtr &&
"Device global pointer cannot be null");
53 assert(!MDeviceGlobalPtr &&
54 "Device global pointer has already been initialized.");
55 MDeviceGlobalPtr = DeviceGlobalPtr;
61 bool IsDeviceImageScopeDecorated) {
62 assert(DeviceGlobalTSize != 0 &&
"Device global initialized with 0 size.");
63 if (MDeviceGlobalTSize != 0) {
67 assert(MDeviceGlobalTSize == DeviceGlobalTSize &&
68 "Device global intializations disagree on type size.");
70 MIsDeviceImageScopeDecorated == IsDeviceImageScopeDecorated &&
71 "Device global intializations disagree on image scope decoration.");
74 MDeviceGlobalTSize = DeviceGlobalTSize;
75 MIsDeviceImageScopeDecorated = IsDeviceImageScopeDecorated;
82 std::map<std::pair<const device_impl *, const context_impl *>,
void *>
84 std::mutex MDeviceToUSMPtrMapMutex;