12 #ifndef QMCPLUSPLUS_QUEUE_CUDA_H 13 #define QMCPLUSPLUS_QUEUE_CUDA_H 34 void enqueueH2D(DSC& dataset,
typename DSC::size_type size = 0,
typename DSC::size_type offset = 0)
36 if (dataset.data() == dataset.device_data())
return;
42 "Queue<PlatformKind::CUDA>::enqueueH2D cudaMemcpyAsync failed!");
48 "Queue<PlatformKind::CUDA>::enqueueH2D cudaMemcpyAsync failed!");
53 void enqueueD2H(DSC& dataset,
typename DSC::size_type size = 0,
typename DSC::size_type offset = 0)
55 if (dataset.data() == dataset.device_data())
return;
61 "Queue<PlatformKind::CUDA>::enqueueD2H cudaMemcpyAsync failed!");
67 "Queue<PlatformKind::CUDA>::enqueueD2H cudaMemcpyAsync failed!");
helper functions for EinsplineSetBuilder
handle CUDA/HIP runtime selection.
#define cudaStreamDestroy
void enqueueD2H(DSC &dataset, typename DSC::size_type size=0, typename DSC::size_type offset=0)
cudaErrorCheck(cudaMemcpyAsync(dev_lu.data(), lu.data(), sizeof(decltype(lu)::value_type) *lu.size(), cudaMemcpyHostToDevice, hstream), "cudaMemcpyAsync failed copying log_values to device")
#define cudaMemcpyDeviceToHost
#define cudaStreamSynchronize
#define cudaMemcpyHostToDevice
void enqueueH2D(DSC &dataset, typename DSC::size_type size=0, typename DSC::size_type offset=0)
QMCTraits::FullPrecRealType value_type