SYCL interop: batchlas::Queue and batchlas::Event to and from sycl::queue and sycl::event.
This is the one BatchLAS header that includes <sycl/sycl.hpp>, and it is deliberately not reachable from <batchlas.hh>. Include it only in the translation units that move a queue or an event across the boundary (they must be compiled with -fsycl), and do not include it from a header of your own that the rest of a project pulls in: that puts sycl.hpp back into every translation unit.
Not needed for the native stream (Queue::native_handle() returns it as void*) or for memory: USM pointers from sycl::malloc_device, sycl::malloc_host, cudaMalloc or cudaMallocManaged wrap zero-copy in a Span or MatrixView, provided they are reachable from the Queue's context. Everything here is single-threaded in the same sense as Queue.
Definition in file sycl_interop.hh.
#include <batchlas/export.hh>#include <sycl/sycl.hpp>#include <batchlas/util/sycl-device-queue.hh>Go to the source code of this file.
Namespaces | |
| namespace | batchlas |