Definition at line 37 of file RooFitDriver.h.
#include </home/sftnight/build/workspace/root-makedoc-v628/rootspi/rdoc/src/v6-28-00-patches/roofit/roofitcore/src/RooFitDriver.h>
◆ DataSpansMap
◆ RooFitDriver()
Construct a new RooFitDriver.
The constructor analyzes and saves metadata about the graph, useful for the evaluation of it that will be done later. In case the CUDA mode is selected, there's also some CUDA-related initialization.
- Parameters
-
[in] | absReal | The RooAbsReal object that sits on top of the computation graph that we want to evaluate. |
[in] | batchMode | The computation mode, accepted values are RooBatchCompute::Cpu and RooBatchCompute::Cuda . |
Definition at line 148 of file RooFitDriver.cxx.
◆ ~RooFitDriver()
RooFitDriver::~RooFitDriver |
( |
| ) |
|
◆ assignToGPU()
void RooFitDriver::assignToGPU |
( |
NodeInfo & |
info | ) |
|
|
private |
Assign a node to be computed in the GPU.
Scan it's clients and also assign them in case they only depend on GPU nodes.
Definition at line 495 of file RooFitDriver.cxx.
◆ computeCPUNode()
◆ determineOutputSizes()
void RooFitDriver::determineOutputSizes |
( |
| ) |
|
|
private |
◆ getParameters()
RooArgSet RooFitDriver::getParameters |
( |
| ) |
const |
◆ getVal()
double RooFitDriver::getVal |
( |
| ) |
|
Returns the value of the top node in the computation graph.
Definition at line 393 of file RooFitDriver.cxx.
◆ getValHeterogeneous()
double RooFitDriver::getValHeterogeneous |
( |
| ) |
|
|
private |
Returns the value of the top node in the computation graph.
Definition at line 420 of file RooFitDriver.cxx.
◆ getValues()
std::vector< double > RooFitDriver::getValues |
( |
| ) |
|
◆ markGPUNodes()
void RooFitDriver::markGPUNodes |
( |
| ) |
|
|
private |
Decides which nodes are assigned to the GPU in a CUDA fit.
Definition at line 528 of file RooFitDriver.cxx.
◆ print()
void RooFitDriver::print |
( |
std::ostream & |
os | ) |
const |
◆ processVariable()
void RooFitDriver::processVariable |
( |
NodeInfo & |
nodeInfo | ) |
|
|
private |
Process a variable in the computation graph.
This is a separate non-inlined function such that we can see in performance profiles how long this takes.
Definition at line 369 of file RooFitDriver.cxx.
◆ setClientsDirty()
void RooFitDriver::setClientsDirty |
( |
NodeInfo & |
nodeInfo | ) |
|
|
private |
Flags all the clients of a given node dirty.
This is a separate non-inlined function such that we can see in performance profiles how long this takes.
Definition at line 385 of file RooFitDriver.cxx.
◆ setData() [1/2]
void RooFitDriver::setData |
( |
DataSpansMap const & |
dataSpans | ) |
|
◆ setData() [2/2]
void RooFitDriver::setData |
( |
RooAbsData const & |
data, |
|
|
std::string const & |
rangeName = "" , |
|
|
RooSimultaneous const * |
simPdf = nullptr , |
|
|
bool |
skipZeroWeights = false , |
|
|
bool |
takeGlobalObservablesFromData = true |
|
) |
| |
◆ setOperMode()
◆ syncDataTokens()
void RooFitDriver::syncDataTokens |
( |
| ) |
|
|
private |
If there are servers with the same name that got de-duplicated in the _nodes
list, we need to set their data tokens too.
We find such nodes by visiting the servers of every known node.
Definition at line 212 of file RooFitDriver.cxx.
◆ topNode()
◆ _batchMode
◆ _bufferManager
◆ _changeOperModeRAIIs
◆ _cudaMemDataset
double* ROOT::Experimental::RooFitDriver::_cudaMemDataset = nullptr |
|
private |
◆ _dataMapCPU
◆ _dataMapCUDA
◆ _getValInvocations
int ROOT::Experimental::RooFitDriver::_getValInvocations = 0 |
|
private |
◆ _nodes
std::vector<NodeInfo> ROOT::Experimental::RooFitDriver::_nodes |
|
private |
◆ _topNode
RooAbsReal& ROOT::Experimental::RooFitDriver::_topNode |
|
private |
◆ _vectorBuffers
std::stack<std::vector<double> > ROOT::Experimental::RooFitDriver::_vectorBuffers |
|
private |
roofit/roofitcore/src/RooFitDriver.h
roofit/roofitcore/src/RooFitDriver.cxx