Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooBatchCompute.h File Reference
#include <ROOT/RSpan.hxx>
#include <RConfig.h>
#include <DllImport.h>
#include <cassert>
#include <functional>
#include <string>
#include <vector>
Include dependency graph for RooBatchCompute.h:
This graph shows which files directly or indirectly include this file:

Classes

class  RooBatchCompute::Config
 Minimal configuration struct to steer the evaluation of a single node with the RooBatchCompute library. More...
 
struct  RooBatchCompute::ReduceNLLOutput
 
class  RooBatchCompute::RooBatchComputeInterface
 The interface which should be implemented to provide optimised computation functions for implementations of RooAbsReal::computeBatch(). More...
 

Namespaces

namespace  RooBatchCompute
 Namespace for dispatching RooFit computations to various backends.
 

Typedefs

typedef std::vector< doubleRooBatchCompute::ArgVector
 
typedef const double *__restrict RooBatchCompute::InputArr
 
typedef double *__restrict RooBatchCompute::RestrictArr
 
typedef std::vector< std::span< const double > > RooBatchCompute::VarVector
 

Enumerations

enum class  RooBatchCompute::Architecture {
  RooBatchCompute::AVX512 , RooBatchCompute::AVX2 , RooBatchCompute::AVX , RooBatchCompute::SSE4 ,
  RooBatchCompute::GENERIC , RooBatchCompute::CUDA
}
 
enum  RooBatchCompute::Computer {
  RooBatchCompute::AddPdf , RooBatchCompute::ArgusBG , RooBatchCompute::BMixDecay , RooBatchCompute::Bernstein ,
  RooBatchCompute::BifurGauss , RooBatchCompute::BreitWigner , RooBatchCompute::Bukin , RooBatchCompute::CBShape ,
  RooBatchCompute::Chebychev , RooBatchCompute::ChiSquare , RooBatchCompute::DeltaFunction , RooBatchCompute::DstD0BG ,
  RooBatchCompute::ExpPoly , RooBatchCompute::Exponential , RooBatchCompute::ExponentialNeg , RooBatchCompute::Gamma ,
  RooBatchCompute::GaussModelExpBasis , RooBatchCompute::Gaussian , RooBatchCompute::Identity , RooBatchCompute::Johnson ,
  RooBatchCompute::Landau , RooBatchCompute::Lognormal , RooBatchCompute::LognormalStandard , RooBatchCompute::NegativeLogarithms ,
  RooBatchCompute::NormalizedPdf , RooBatchCompute::Novosibirsk , RooBatchCompute::Poisson , RooBatchCompute::Polynomial ,
  RooBatchCompute::Power , RooBatchCompute::ProdPdf , RooBatchCompute::Ratio , RooBatchCompute::TruthModelExpBasis ,
  RooBatchCompute::TruthModelSinBasis , RooBatchCompute::TruthModelCosBasis , RooBatchCompute::TruthModelLinBasis , RooBatchCompute::TruthModelQuadBasis ,
  RooBatchCompute::TruthModelSinhBasis , RooBatchCompute::TruthModelCoshBasis , RooBatchCompute::Voigtian
}
 

Functions

void RooBatchCompute::compute (Config cfg, Computer comp, RestrictArr output, size_t size, const VarVector &vars)
 
void RooBatchCompute::compute (Config cfg, Computer comp, RestrictArr output, size_t size, const VarVector &vars, ArgVector &extraArgs)
 
Architecture RooBatchCompute::cpuArchitecture ()
 
std::string RooBatchCompute::cpuArchitectureName ()
 
bool RooBatchCompute::hasCuda ()
 
void RooBatchCompute::init ()
 Inspect hardware capabilities, and load the optimal library for RooFit computations.
 
ReduceNLLOutput RooBatchCompute::reduceNLL (Config cfg, std::span< const double > probas, std::span< const double > weights, std::span< const double > offsetProbas)
 
double RooBatchCompute::reduceSum (Config cfg, InputArr input, size_t n)
 

Variables

R__EXTERN RooBatchComputeInterfaceRooBatchCompute::dispatchCPU = nullptr
 This dispatch pointer points to an implementation of the compute library, provided one has been loaded.
 
R__EXTERN RooBatchComputeInterfaceRooBatchCompute::dispatchCUDA = nullptr