Lines Matching refs:Device
27 Result = Device.synchronize(*this); in synchronize()
73 static int initLibrary(DeviceTy &Device) { in initLibrary() argument
77 int32_t DeviceId = Device.DeviceID; in initLibrary()
79 bool SupportsEmptyImages = Device.RTL->supports_empty_images && in initLibrary()
80 Device.RTL->supports_empty_images() > 0; in initLibrary()
82 std::lock_guard<decltype(Device.PendingGlobalsMtx)> LG( in initLibrary()
83 Device.PendingGlobalsMtx); in initLibrary()
112 Device.loadBinary(Img); in initLibrary()
139 Device.HostDataToTargetMap.getExclusiveAccessor(); in initLibrary()
156 if (Device.getTgtPtrBegin(HDTTMap, CurrHostEntry->addr, in initLibrary()
185 if (!Device.PendingCtorsDtors.empty()) { in initLibrary()
186 AsyncInfoTy AsyncInfo(Device); in initLibrary()
188 for (auto &Lib : Device.PendingCtorsDtors) { in initLibrary()
193 int Rc = target(nullptr, Device, Ctor, 0, nullptr, nullptr, nullptr, in initLibrary()
210 Device.HasPendingGlobals = false; in initLibrary()
229 for (auto &Device : PM->Devices) in handleTargetOutcome() local
230 dumpTargetPointerMappings(Loc, *Device); in handleTargetOutcome()
246 for (auto &Device : PM->Devices) in handleTargetOutcome() local
247 dumpTargetPointerMappings(Loc, *Device); in handleTargetOutcome()
318 DeviceTy &Device = *PM->Devices[DeviceID]; in checkDeviceAndCtors() local
323 std::lock_guard<decltype(Device.PendingGlobalsMtx)> LG( in checkDeviceAndCtors()
324 Device.PendingGlobalsMtx); in checkDeviceAndCtors()
325 HasPendingGlobals = Device.HasPendingGlobals; in checkDeviceAndCtors()
327 if (HasPendingGlobals && initLibrary(Device) != OFFLOAD_SUCCESS) { in checkDeviceAndCtors()
363 DeviceTy &Device = *PM->Devices[DeviceNum]; in targetAllocExplicit() local
364 Rc = Device.allocData(Size, nullptr, Kind); in targetAllocExplicit()
371 int targetDataMapper(ident_t *Loc, DeviceTy &Device, void *ArgBase, void *Arg, in targetDataMapper() argument
402 int Rc = TargetDataFunction(Loc, Device, MapperComponents.Components.size(), in targetDataMapper()
412 int targetDataBegin(ident_t *Loc, DeviceTy &Device, int32_t ArgNum, in targetDataBegin() argument
431 int Rc = targetDataMapper(Loc, Device, ArgsBase[I], Args[I], ArgSizes[I], in targetDataBegin()
499 PointerTpr = Device.getTargetPointer( in targetDataBegin()
526 auto TPR = Device.getTargetPointer( in targetDataBegin()
558 Device.ShadowMtx.lock(); in targetDataBegin()
559 auto Entry = Device.ShadowPtrMap.find(PointerHstPtrBegin); in targetDataBegin()
571 if (Entry == Device.ShadowPtrMap.end() || in targetDataBegin()
574 Device.ShadowPtrMap[PointerHstPtrBegin] = { in targetDataBegin()
582 Device.ShadowMtx.unlock(); in targetDataBegin()
590 int Ret = Device.submitData(PointerTgtPtrBegin, &TgtPtrBase, in targetDataBegin()
596 if (PointerTpr.Entry->addEventIfNecessary(Device, AsyncInfo) != in targetDataBegin()
600 Device.ShadowMtx.unlock(); in targetDataBegin()
639 static void applyToShadowMapEntries(DeviceTy &Device, CBTy CB, void *Begin, in applyToShadowMapEntries() argument
655 std::lock_guard<decltype(Device.ShadowMtx)> LG(Device.ShadowMtx); in applyToShadowMapEntries()
656 for (ShadowPtrListTy::iterator Itr = Device.ShadowPtrMap.begin(); in applyToShadowMapEntries()
657 Itr != Device.ShadowPtrMap.end();) { in applyToShadowMapEntries()
677 int targetDataEnd(ident_t *Loc, DeviceTy &Device, int32_t ArgNum, in targetDataEnd() argument
699 Ret = targetDataMapper(Loc, Device, ArgBases[I], Args[I], ArgSizes[I], in targetDataEnd()
741 TargetPointerResultTy TPR = Device.getTgtPtrBegin( in targetDataEnd()
804 if (Device.waitEvent(Event, AsyncInfo) != OFFLOAD_SUCCESS) { in targetDataEnd()
810 Ret = Device.retrieveData(HstPtrBegin, TgtPtrBegin, DataSize, in targetDataEnd()
823 if (TPR.Entry->addEventIfNecessary(Device, AsyncInfo) != in targetDataEnd()
857 Device.HostDataToTargetMap.getExclusiveAccessor(!Info.DelEntry); in targetDataEnd()
860 LR = Device.lookupMapping(HDTTMap, Info.HstPtrBegin, Info.DataSize); in targetDataEnd()
886 Itr = Device.ShadowPtrMap.erase(Itr); in targetDataEnd()
892 applyToShadowMapEntries(Device, CB, Info.HstPtrBegin, Info.DataSize, in targetDataEnd()
899 Ret = Device.deallocTgtPtr(HDTTMap, LR, Info.DataSize); in targetDataEnd()
911 static int targetDataContiguous(ident_t *Loc, DeviceTy &Device, void *ArgsBase, in targetDataContiguous() argument
916 TargetPointerResultTy TPR = Device.getTgtPtrBegin( in targetDataContiguous()
940 int Ret = Device.retrieveData(HstPtrBegin, TgtPtrBegin, ArgSize, AsyncInfo); in targetDataContiguous()
959 applyToShadowMapEntries(Device, CB, HstPtrBegin, ArgSize, TPR); in targetDataContiguous()
965 int Ret = Device.submitData(TgtPtrBegin, HstPtrBegin, ArgSize, AsyncInfo); in targetDataContiguous()
975 Ret = Device.submitData(Itr->second.TgtPtrAddr, &Itr->second.TgtPtrVal, in targetDataContiguous()
982 applyToShadowMapEntries(Device, CB, HstPtrBegin, ArgSize, TPR); in targetDataContiguous()
987 static int targetDataNonContiguous(ident_t *Loc, DeviceTy &Device, in targetDataNonContiguous() argument
1002 Ret = targetDataNonContiguous(Loc, Device, ArgsBase, NonContig, Size, in targetDataNonContiguous()
1016 Ret = targetDataContiguous(Loc, Device, ArgsBase, Ptr, Size, ArgType, in targetDataNonContiguous()
1033 int targetDataUpdate(ident_t *Loc, DeviceTy &Device, int32_t ArgNum, in targetDataUpdate() argument
1050 int Ret = targetDataMapper(Loc, Device, ArgsBase[I], Args[I], ArgSizes[I], in targetDataUpdate()
1073 Loc, Device, ArgsBase[I], NonContig, Size, ArgTypes[I], in targetDataUpdate()
1076 Ret = targetDataContiguous(Loc, Device, ArgsBase[I], Args[I], ArgSizes[I], in targetDataUpdate()
1134 DeviceTy &Device = *PM->Devices[DeviceId]; in getLoopTripCount() local
1139 auto I = Device.LoopTripCnt.find(__kmpc_global_thread_num(NULL)); in getLoopTripCount()
1140 if (I != Device.LoopTripCnt.end()) { in getLoopTripCount()
1142 Device.LoopTripCnt.erase(I); in getLoopTripCount()
1184 DeviceTy &Device; member in __anon039aff710511::PrivateArgumentManagerTy
1196 : Device(Dev), AsyncInfo(AsyncInfo) {} in PrivateArgumentManagerTy()
1208 TgtPtr = Device.allocData(ArgSize, HstPtr); in addArg()
1225 int Ret = Device.submitData(TgtPtr, HstPtr, ArgSize, AsyncInfo); in addArg()
1271 Device.allocData(FirstPrivateArgSize, FirstPrivateArgBuffer.data()); in packAndTransfer()
1280 int Ret = Device.submitData(TgtPtr, FirstPrivateArgBuffer.data(), in packAndTransfer()
1306 int Ret = Device.deleteData(P); in free()
1331 DeviceTy &Device = *PM->Devices[DeviceId]; in processDataBefore() local
1332 int Ret = targetDataBegin(Loc, Device, ArgNum, ArgBases, Args, ArgSizes, in processDataBefore()
1364 TargetPointerResultTy TPR = Device.getTgtPtrBegin( in processDataBefore()
1381 Ret = Device.submitData(TgtPtrBegin, &PointerTgtPtrBegin, in processDataBefore()
1422 TPR = Device.getTgtPtrBegin(HstPtrBegin, ArgSizes[I], IsLast, in processDataBefore()
1460 DeviceTy &Device = *PM->Devices[DeviceId]; in processDataAfter() local
1463 int Ret = targetDataEnd(Loc, Device, ArgNum, ArgBases, Args, ArgSizes, in processDataAfter()
1487 int target(ident_t *Loc, DeviceTy &Device, void *HostPtr, int32_t ArgNum, in target() argument
1492 int32_t DeviceId = Device.DeviceID; in target()
1527 PrivateArgumentManagerTy PrivateArgumentManager(Device, AsyncInfo); in target()
1550 Ret = Device.runTeamRegion(TgtEntryPtr, &TgtArgs[0], &TgtOffsets[0], in target()
1554 Ret = Device.runRegion(TgtEntryPtr, &TgtArgs[0], &TgtOffsets[0], in target()