MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / copyData

Function copyData

src/backend/oneapi/copy.cpp:32–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30
31template<typename T>
32void copyData(T *data, const Array<T> &src) {
33 if (src.elements() > 0) {
34 Array<T> lin = src.isReady() && src.isLinear() ? src : copyArray(src);
35 size_t elements = lin.elements();
36 Param<T> p = lin;
37 getQueue()
38 .submit([&](sycl::handler &h) {
39 sycl::range rr(elements);
40 sycl::id offset_id(p.info.offset);
41 auto offset_acc =
42 p.data->template get_access<sycl::access_mode::read_write>(
43 h, rr, offset_id);
44 h.copy(offset_acc, data);
45 })
46 .wait();
47 }
48}
49
50template<typename T>
51Array<T> copyArray(const Array<T> &A) {

Callers

nothing calls this directly

Calls 7

copyArrayFunction · 0.70
getQueueFunction · 0.50
elementsMethod · 0.45
isReadyMethod · 0.45
isLinearMethod · 0.45
waitMethod · 0.45
copyMethod · 0.45

Tested by

no test coverage detected