Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooBatchCompute.cu File Reference
#include "RooBatchCompute.h"
#include "Batches.h"
#include "CudaInterface.h"
#include <algorithm>
#include <functional>
#include <map>
#include <queue>
#include <vector>
Include dependency graph for RooBatchCompute.cu:

Classes

class  RooBatchCompute::CUDA::RooBatchComputeClass
 This class overrides some RooBatchComputeInterface functions, for the purpose of providing a cuda specific implementation of the library. More...
 

Namespaces

namespace  RooBatchCompute
 Namespace for dispatching RooFit computations to various backends.
 
namespace  RooBatchCompute::CUDA
 

Functions

std::vector< void(*)(Batches &)> RooBatchCompute::CUDA::getFunctions ()
 Returns a std::vector of pointers to the compute functions in this file.
 
__global__ void RooBatchCompute::CUDA::kahanSum (const double *__restrict__ input, const double *__restrict__ carries, size_t n, double *__restrict__ result, bool nll)
 
__device__ void RooBatchCompute::CUDA::kahanSumReduction (double *shared, size_t n, double *__restrict__ result, int carry_index)
 
__device__ void RooBatchCompute::CUDA::kahanSumUpdate (double &sum, double &carry, double a, double otherCarry)
 
__global__ void RooBatchCompute::CUDA::nllSumKernel (const double *__restrict__ probas, const double *__restrict__ weights, const double *__restrict__ offsetProbas, size_t n, double *__restrict__ result)
 

Variables

constexpr int RooBatchCompute::CUDA::blockSize = 512
 
static RooBatchComputeClass RooBatchCompute::CUDA::computeObj
 Static object to trigger the constructor which overwrites the dispatch pointer.
 

Variable Documentation

◆ _arr

CudaInterface::PinnedHostArray<double> _arr
private

Definition at line 406 of file RooBatchCompute.cu.

◆ _cudaStream

CudaInterface::CudaStream* _cudaStream = nullptr
private

Definition at line 460 of file RooBatchCompute.cu.

◆ _gpuBuffer

GPUBufferContainer _gpuBuffer
private

Definition at line 459 of file RooBatchCompute.cu.

◆ _lastAccess

LastAccessType _lastAccess = LastAccessType::CPU_READ
mutableprivate

Definition at line 461 of file RooBatchCompute.cu.

◆ _queue

Queue& _queue
private

Definition at line 494 of file RooBatchCompute.cu.

◆ _queuesMaps

std::unique_ptr<BufferQueuesMaps> _queuesMaps
private

Definition at line 534 of file RooBatchCompute.cu.

◆ _val

double _val
private

Definition at line 347 of file RooBatchCompute.cu.

◆ _vec

std::unique_ptr<Container> _vec
private

Definition at line 375 of file RooBatchCompute.cu.

◆ cpuBufferQueuesMap

std::map<std::size_t, CPUBuffer::Queue> cpuBufferQueuesMap

Definition at line 504 of file RooBatchCompute.cu.

◆ gpuBufferQueuesMap

std::map<std::size_t, GPUBuffer::Queue> gpuBufferQueuesMap

Definition at line 505 of file RooBatchCompute.cu.

◆ pinnedBufferQueuesMap

std::map<std::size_t, PinnedBuffer::Queue> pinnedBufferQueuesMap

Definition at line 506 of file RooBatchCompute.cu.

◆ scalarBufferQueuesMap

std::map<std::size_t, ScalarBuffer::Queue> scalarBufferQueuesMap

Definition at line 503 of file RooBatchCompute.cu.