| 498 | |
| 499 | template<typename T> |
| 500 | void writeHostDataArray(Array<T> &arr, const T *const data, |
| 501 | const size_t bytes) { |
| 502 | if (!arr.isOwner()) { arr = copyArray<T>(arr); } |
| 503 | auto arr_get = arr.get(); |
| 504 | getQueue() |
| 505 | .submit([&](sycl::handler &h) { |
| 506 | auto host_acc = |
| 507 | arr_get->template get_access<sycl::access_mode::write>( |
| 508 | h, sycl::range(bytes / sizeof(T)), arr.getOffset()); |
| 509 | h.copy(data, host_acc); |
| 510 | }) |
| 511 | .wait(); |
| 512 | } |
| 513 | |
| 514 | template<typename T> |
| 515 | void writeDeviceDataArray(Array<T> &arr, const void *const data, |