| 211 | |
| 212 | template<typename T> |
| 213 | void Array<T>::eval() { |
| 214 | if (isReady()) { return; } |
| 215 | |
| 216 | this->setId(getActiveDeviceId()); |
| 217 | data = std::shared_ptr<sycl::buffer<T>>( |
| 218 | memAlloc<T>(info.elements()).release(), memFree<T>); |
| 219 | |
| 220 | // Do not replace this with cast operator |
| 221 | KParam info = {{dims()[0], dims()[1], dims()[2], dims()[3]}, |
| 222 | {strides()[0], strides()[1], strides()[2], strides()[3]}, |
| 223 | 0}; |
| 224 | |
| 225 | Param<T> res{data.get(), info}; |
| 226 | |
| 227 | evalNodes(res, getNode().get()); |
| 228 | node.reset(); |
| 229 | } |
| 230 | |
| 231 | template<typename T> |
| 232 | void Array<T>::eval() const { |
no test coverage detected