16namespace CudaInterface {
18DeviceMemory::DeviceMemory(std::size_t
n, std::size_t typeSize) : _size{
n}
21 ERRCHECK(::cudaMalloc(&ret,
n * typeSize));
24PinnedHostMemory::PinnedHostMemory(std::size_t
n, std::size_t typeSize) : _size{
n}
27 ERRCHECK(::cudaMallocHost(&ret,
n * typeSize));
32void Deleter<DeviceMemory>::operator()(
void *ptr)
34 ERRCHECK(::cudaFree(ptr));
38void Deleter<PinnedHostMemory>::operator()(
void *ptr)
40 ERRCHECK(::cudaFreeHost(ptr));
45void Deleter<CudaStream>::operator()(
void *ptr)
47 auto stream =
reinterpret_cast<cudaStream_t *
>(ptr);
48 ERRCHECK(cudaStreamDestroy(*stream));
58CudaStream::CudaStream()
60 auto stream =
new cudaStream_t;
61 ERRCHECK(cudaStreamCreate(stream));
67void copyHostToDeviceImpl(
const void *
src,
void *
dest,
size_t nBytes,
CudaStream *stream)
70 ERRCHECK(cudaMemcpyAsync(
dest,
src, nBytes, cudaMemcpyHostToDevice, *stream));
72 ERRCHECK(cudaMemcpy(
dest,
src, nBytes, cudaMemcpyHostToDevice));
75void copyDeviceToHostImpl(
const void *
src,
void *
dest,
size_t nBytes, CudaStream *stream)
78 ERRCHECK(cudaMemcpyAsync(
dest,
src, nBytes, cudaMemcpyDeviceToHost, *stream));
80 ERRCHECK(cudaMemcpy(
dest,
src, nBytes, cudaMemcpyDeviceToHost));
83void copyDeviceToDeviceImpl(
const void *
src,
void *
dest,
size_t nBytes, CudaStream *stream)
86 ERRCHECK(cudaMemcpyAsync(
dest,
src, nBytes, cudaMemcpyDeviceToDevice, *stream));
88 ERRCHECK(cudaMemcpy(
dest,
src, nBytes, cudaMemcpyDeviceToDevice));
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t dest
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src
Namespace for dispatching RooFit computations to various backends.