Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
RooBatchCompute::CUDA Namespace Reference

Classes

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

Functions

std::vector< void(*)(Batches &)> getFunctions ()
__global__ void kahanSum (const double *__restrict__ input, const double *__restrict__ carries, size_t n, double *__restrict__ result, bool nll)
__device__ void kahanSumReduction (double *shared, size_t n, double *__restrict__ result, int carry_index)
__device__ void kahanSumUpdate (double &sum, double &carry, double a, double otherCarry)
__global__ void nllSumKernel (const double *__restrict__ probas, const double *__restrict__ weights, const double *__restrict__ offsetProbas, size_t nProbas, double scalarProba, size_t nWeights, double *__restrict__ result)

Variables

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

Function Documentation

◆ getFunctions()

std::vector< void(*)(Batches &)> RooBatchCompute::CUDA::getFunctions ( )

◆ kahanSum()

__global__ void RooBatchCompute::CUDA::kahanSum ( const double *__restrict__ input,
const double *__restrict__ carries,
size_t n,
double *__restrict__ result,
bool nll )

Definition at line 212 of file RooBatchCompute.cu.

◆ kahanSumReduction()

__device__ void RooBatchCompute::CUDA::kahanSumReduction ( double * shared,
size_t n,
double *__restrict__ result,
int carry_index )
inline

Definition at line 195 of file RooBatchCompute.cu.

◆ kahanSumUpdate()

__device__ void RooBatchCompute::CUDA::kahanSumUpdate ( double & sum,
double & carry,
double a,
double otherCarry )
inline

Definition at line 181 of file RooBatchCompute.cu.

◆ nllSumKernel()

__global__ void RooBatchCompute::CUDA::nllSumKernel ( const double *__restrict__ probas,
const double *__restrict__ weights,
const double *__restrict__ offsetProbas,
size_t nProbas,
double scalarProba,
size_t nWeights,
double *__restrict__ result )

Definition at line 242 of file RooBatchCompute.cu.

Variable Documentation

◆ blockSize

int RooBatchCompute::CUDA::blockSize = 512
constexpr

Definition at line 35 of file RooBatchCompute.cu.

◆ computeObj

RooBatchComputeClass RooBatchCompute::CUDA::computeObj
static

Static object to trigger the constructor which overwrites the dispatch pointer.

Definition at line 554 of file RooBatchCompute.cu.