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

Classes

class  RooBatchCompute::AbsBuffer
 
class  RooBatchCompute::AbsBufferManager
 
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::doEval(). More...
 

Namespaces

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

Typedefs

typedef std::span< doubleRooBatchCompute::ArgSpan
 
typedef const double *__restrict RooBatchCompute::InputArr
 
typedef std::span< const std::span< const double > > RooBatchCompute::VarSpan
 

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, std::span< double > output, std::initializer_list< std::span< const double > > vars, ArgSpan extraArgs={})
 It is not possible to construct a std::span directly from an initializer list (probably it will be with C++26).
 
void RooBatchCompute::compute (Config cfg, Computer comp, std::span< double > output, VarSpan vars, ArgSpan extraArgs={})
 
Architecture RooBatchCompute::cpuArchitecture ()
 
std::string RooBatchCompute::cpuArchitectureName ()
 
int RooBatchCompute::initCPU ()
 Inspect hardware capabilities, and load the optimal library for RooFit computations.
 
int RooBatchCompute::initCUDA ()
 
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

constexpr std::size_t RooBatchCompute::bufferSize = 64
 
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