Lines Matching refs:impl

22   CeedVector_Sycl *impl;  in CeedVectorNeedSync_Sycl()  local
24 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorNeedSync_Sycl()
28 *need_sync = has_valid_array && !impl->h_array; in CeedVectorNeedSync_Sycl()
31 *need_sync = has_valid_array && !impl->d_array; in CeedVectorNeedSync_Sycl()
44 CeedVector_Sycl *impl; in CeedVectorSyncH2D_Sycl() local
48 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorSyncH2D_Sycl()
50 CeedCheck(impl->h_array, ceed, CEED_ERROR_BACKEND, "No valid host data to sync to device"); in CeedVectorSyncH2D_Sycl()
53 if (impl->d_array_borrowed) { in CeedVectorSyncH2D_Sycl()
54 impl->d_array = impl->d_array_borrowed; in CeedVectorSyncH2D_Sycl()
55 } else if (impl->d_array_owned) { in CeedVectorSyncH2D_Sycl()
56 impl->d_array = impl->d_array_owned; in CeedVectorSyncH2D_Sycl()
58 …CeedCallSycl(ceed, impl->d_array_owned = sycl::malloc_device<CeedScalar>(length, data->sycl_device… in CeedVectorSyncH2D_Sycl()
59 impl->d_array = impl->d_array_owned; in CeedVectorSyncH2D_Sycl()
66 …CeedCallSycl(ceed, data->sycl_queue.copy<CeedScalar>(impl->h_array, impl->d_array, length, e).wait… in CeedVectorSyncH2D_Sycl()
78 CeedVector_Sycl *impl; in CeedVectorSyncD2H_Sycl() local
82 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorSyncD2H_Sycl()
84 CeedCheck(impl->d_array, ceed, CEED_ERROR_BACKEND, "No valid device data to sync to host"); in CeedVectorSyncD2H_Sycl()
87 if (impl->h_array_borrowed) { in CeedVectorSyncD2H_Sycl()
88 impl->h_array = impl->h_array_borrowed; in CeedVectorSyncD2H_Sycl()
89 } else if (impl->h_array_owned) { in CeedVectorSyncD2H_Sycl()
90 impl->h_array = impl->h_array_owned; in CeedVectorSyncD2H_Sycl()
92 CeedCallBackend(CeedCalloc(length, &impl->h_array_owned)); in CeedVectorSyncD2H_Sycl()
93 impl->h_array = impl->h_array_owned; in CeedVectorSyncD2H_Sycl()
100 …CeedCallSycl(ceed, data->sycl_queue.copy<CeedScalar>(impl->d_array, impl->h_array, length, e).wait… in CeedVectorSyncD2H_Sycl()
128 CeedVector_Sycl *impl; in CeedVectorSetAllInvalid_Sycl() local
130 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorSetAllInvalid_Sycl()
131 impl->h_array = NULL; in CeedVectorSetAllInvalid_Sycl()
132 impl->d_array = NULL; in CeedVectorSetAllInvalid_Sycl()
140 CeedVector_Sycl *impl; in CeedVectorHasValidArray_Sycl() local
142 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorHasValidArray_Sycl()
143 *has_valid_array = impl->h_array || impl->d_array; in CeedVectorHasValidArray_Sycl()
151 CeedVector_Sycl *impl; in CeedVectorHasArrayOfType_Sycl() local
153 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorHasArrayOfType_Sycl()
156 *has_array_of_type = impl->h_array_borrowed || impl->h_array_owned; in CeedVectorHasArrayOfType_Sycl()
159 *has_array_of_type = impl->d_array_borrowed || impl->d_array_owned; in CeedVectorHasArrayOfType_Sycl()
169 CeedVector_Sycl *impl; in CeedVectorHasBorrowedArrayOfType_Sycl() local
171 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorHasBorrowedArrayOfType_Sycl()
174 *has_borrowed_array_of_type = impl->h_array_borrowed; in CeedVectorHasBorrowedArrayOfType_Sycl()
177 *has_borrowed_array_of_type = impl->d_array_borrowed; in CeedVectorHasBorrowedArrayOfType_Sycl()
188 CeedVector_Sycl *impl; in CeedVectorSetArrayHost_Sycl() local
190 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorSetArrayHost_Sycl()
193 …CeedCallBackend(CeedSetHostCeedScalarArray(array, copy_mode, length, (const CeedScalar **)&impl->h… in CeedVectorSetArrayHost_Sycl()
194 … (const CeedScalar **)&impl->h_array_borrowed, (const CeedScalar **)&impl->h_array)); in CeedVectorSetArrayHost_Sycl()
205 CeedVector_Sycl *impl; in CeedVectorSetArrayDevice_Sycl() local
208 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorSetArrayDevice_Sycl()
219 if (!impl->d_array_owned) { in CeedVectorSetArrayDevice_Sycl()
220 …CeedCallSycl(ceed, impl->d_array_owned = sycl::malloc_device<CeedScalar>(length, data->sycl_device… in CeedVectorSetArrayDevice_Sycl()
224 …CeedCallSycl(ceed, data->sycl_queue.copy<CeedScalar>(array, impl->d_array_owned, length, e).wait_a… in CeedVectorSetArrayDevice_Sycl()
226 impl->d_array_borrowed = NULL; in CeedVectorSetArrayDevice_Sycl()
227 impl->d_array = impl->d_array_owned; in CeedVectorSetArrayDevice_Sycl()
230 if (impl->d_array_owned) { in CeedVectorSetArrayDevice_Sycl()
233 CeedCallSycl(ceed, sycl::free(impl->d_array_owned, data->sycl_context)); in CeedVectorSetArrayDevice_Sycl()
235 impl->d_array_owned = array; in CeedVectorSetArrayDevice_Sycl()
236 impl->d_array_borrowed = NULL; in CeedVectorSetArrayDevice_Sycl()
237 impl->d_array = impl->d_array_owned; in CeedVectorSetArrayDevice_Sycl()
240 if (impl->d_array_owned) { in CeedVectorSetArrayDevice_Sycl()
243 CeedCallSycl(ceed, sycl::free(impl->d_array_owned, data->sycl_context)); in CeedVectorSetArrayDevice_Sycl()
245 impl->d_array_owned = NULL; in CeedVectorSetArrayDevice_Sycl()
246 impl->d_array_borrowed = array; in CeedVectorSetArrayDevice_Sycl()
247 impl->d_array = impl->d_array_borrowed; in CeedVectorSetArrayDevice_Sycl()
259 CeedVector_Sycl *impl; in CeedVectorSetArray_Sycl() local
261 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorSetArray_Sycl()
299 CeedVector_Sycl *impl; in CeedVectorSetValue_Sycl() local
304 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorSetValue_Sycl()
308 if (!impl->d_array && !impl->h_array) { in CeedVectorSetValue_Sycl()
309 if (impl->d_array_borrowed) { in CeedVectorSetValue_Sycl()
310 impl->d_array = impl->d_array_borrowed; in CeedVectorSetValue_Sycl()
311 } else if (impl->h_array_borrowed) { in CeedVectorSetValue_Sycl()
312 impl->h_array = impl->h_array_borrowed; in CeedVectorSetValue_Sycl()
313 } else if (impl->d_array_owned) { in CeedVectorSetValue_Sycl()
314 impl->d_array = impl->d_array_owned; in CeedVectorSetValue_Sycl()
315 } else if (impl->h_array_owned) { in CeedVectorSetValue_Sycl()
316 impl->h_array = impl->h_array_owned; in CeedVectorSetValue_Sycl()
321 if (impl->d_array) { in CeedVectorSetValue_Sycl()
322 CeedCallBackend(CeedDeviceSetValue_Sycl(data->sycl_queue, impl->d_array, length, val)); in CeedVectorSetValue_Sycl()
323 impl->h_array = NULL; in CeedVectorSetValue_Sycl()
325 if (impl->h_array) { in CeedVectorSetValue_Sycl()
326 CeedCallBackend(CeedHostSetValue_Sycl(impl->h_array, length, val)); in CeedVectorSetValue_Sycl()
327 impl->d_array = NULL; in CeedVectorSetValue_Sycl()
338 CeedVector_Sycl *impl; in CeedVectorTakeArray_Sycl() local
342 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorTakeArray_Sycl()
344 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorTakeArray_Sycl()
355 (*array) = impl->h_array_borrowed; in CeedVectorTakeArray_Sycl()
356 impl->h_array_borrowed = NULL; in CeedVectorTakeArray_Sycl()
357 impl->h_array = NULL; in CeedVectorTakeArray_Sycl()
360 (*array) = impl->d_array_borrowed; in CeedVectorTakeArray_Sycl()
361 impl->d_array_borrowed = NULL; in CeedVectorTakeArray_Sycl()
362 impl->d_array = NULL; in CeedVectorTakeArray_Sycl()
373 CeedVector_Sycl *impl; in CeedVectorGetArrayCore_Sycl() local
375 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorGetArrayCore_Sycl()
383 *array = impl->h_array; in CeedVectorGetArrayCore_Sycl()
386 *array = impl->d_array; in CeedVectorGetArrayCore_Sycl()
403 CeedVector_Sycl *impl; in CeedVectorGetArray_Sycl() local
405 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorGetArray_Sycl()
410 impl->h_array = *array; in CeedVectorGetArray_Sycl()
413 impl->d_array = *array; in CeedVectorGetArray_Sycl()
424 CeedVector_Sycl *impl; in CeedVectorGetArrayWrite_Sycl() local
426 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorGetArrayWrite_Sycl()
435 if (impl->h_array_borrowed) impl->h_array = impl->h_array_borrowed; in CeedVectorGetArrayWrite_Sycl()
436 else impl->h_array = impl->h_array_owned; in CeedVectorGetArrayWrite_Sycl()
439 if (impl->d_array_borrowed) impl->d_array = impl->d_array_borrowed; in CeedVectorGetArrayWrite_Sycl()
440 else impl->d_array = impl->d_array_owned; in CeedVectorGetArrayWrite_Sycl()
454 CeedVector_Sycl *impl; in CeedVectorNorm_Sycl() local
459 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorNorm_Sycl()
472 …auto sumReduction = sycl::reduction(impl->reduction_norm, sycl::plus<>(), {sycl::property::reducti… in CeedVectorNorm_Sycl()
477 …auto sumReduction = sycl::reduction(impl->reduction_norm, sycl::plus<>(), {sycl::property::reducti… in CeedVectorNorm_Sycl()
482 …auto maxReduction = sycl::reduction(impl->reduction_norm, sycl::maximum<>(), {sycl::property::redu… in CeedVectorNorm_Sycl()
487 if (type == CEED_NORM_2) *norm = sqrt(*impl->reduction_norm); in CeedVectorNorm_Sycl()
488 else *norm = *impl->reduction_norm; in CeedVectorNorm_Sycl()
523 CeedVector_Sycl *impl; in CeedVectorReciprocal_Sycl() local
528 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorReciprocal_Sycl()
532 …if (impl->d_array) CeedCallBackend(CeedDeviceReciprocal_Sycl(data->sycl_queue, impl->d_array, leng… in CeedVectorReciprocal_Sycl()
533 if (impl->h_array) CeedCallBackend(CeedHostReciprocal_Sycl(impl->h_array, length)); in CeedVectorReciprocal_Sycl()
683 CeedVector_Sycl *impl; in CeedVectorDestroy_Sycl() local
686 CeedCallBackend(CeedVectorGetData(vec, &impl)); in CeedVectorDestroy_Sycl()
691 CeedCallSycl(ceed, sycl::free(impl->d_array_owned, data->sycl_context)); in CeedVectorDestroy_Sycl()
692 CeedCallSycl(ceed, sycl::free(impl->reduction_norm, data->sycl_context)); in CeedVectorDestroy_Sycl()
694 CeedCallBackend(CeedFree(&impl->h_array_owned)); in CeedVectorDestroy_Sycl()
695 CeedCallBackend(CeedFree(&impl)); in CeedVectorDestroy_Sycl()
706 CeedVector_Sycl *impl; in CeedVectorCreate_Sycl() local
710 CeedCallBackend(CeedCalloc(1, &impl)); in CeedVectorCreate_Sycl()
711 CeedCallSycl(ceed, impl->reduction_norm = sycl::malloc_host<CeedScalar>(1, data->sycl_context)); in CeedVectorCreate_Sycl()
728 CeedCallBackend(CeedVectorSetData(vec, impl)); in CeedVectorCreate_Sycl()