12 #ifndef QMCPLUSPLUS_QUEUE_SYCL_H 13 #define QMCPLUSPLUS_QUEUE_SYCL_H 32 void enqueueH2D(DSC& dataset,
typename DSC::size_type size = 0,
typename DSC::size_type offset = 0)
34 if (dataset.data() == dataset.device_data())
38 queue_.memcpy(dataset.device_data() + offset, dataset.data() + offset,
41 queue_.memcpy(dataset.device_data() + offset, dataset.data() + offset, size *
sizeof(
typename DSC::value_type));
45 void enqueueD2H(DSC& dataset,
typename DSC::size_type size = 0,
typename DSC::size_type offset = 0)
47 if (dataset.data() == dataset.device_data())
51 queue_.memcpy(dataset.data() + offset, dataset.device_data() + offset,
54 queue_.memcpy(dataset.data() + offset, dataset.device_data() + offset, size *
sizeof(
typename DSC::value_type));
57 void sync() { queue_.wait(); }
sycl::queue createSYCLInOrderQueueOnDefaultDevice()
create an in-order queue using the default device
helper functions for EinsplineSetBuilder
sycl::queue & getNative()
void enqueueH2D(DSC &dataset, typename DSC::size_type size=0, typename DSC::size_type offset=0)
void enqueueD2H(DSC &dataset, typename DSC::size_type size=0, typename DSC::size_type offset=0)
QMCTraits::FullPrecRealType value_type