14#ifndef RooFit_Evaluator_h
15#define RooFit_Evaluator_h
45 std::span<const double>
run();
46 void setInput(std::string
const &
name, std::span<const double> inputArray,
bool isOnDevice);
48 void print(std::ostream &os)
const;
Struct to temporarily change the operation mode of a RooAbsArg until it goes out of scope.
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Abstract base class for objects that represent a real value and implements functionality common to al...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
void computeCPUNode(const RooAbsArg *node, NodeInfo &info)
void setOperMode(RooAbsArg *arg, RooAbsArg::OperMode opMode)
Temporarily change the operation mode of a RooAbsArg until the Evaluator gets deleted.
RooFit::Detail::DataMap _dataMapCPU
std::span< const double > run()
Returns the value of the top node in the computation graph.
void markGPUNodes()
Decides which nodes are assigned to the GPU in a CUDA fit.
std::vector< NodeInfo > _nodes
bool _needToUpdateOutputSizes
void print(std::ostream &os) const
std::span< const double > getValHeterogeneous()
Returns the value of the top node in the computation graph.
RooFit::Detail::DataMap _dataMapCUDA
RooArgSet getParameters() const
Gets all the parameters of the RooAbsReal.
void setInput(std::string const &name, std::span< const double > inputArray, bool isOnDevice)
void assignToGPU(NodeInfo &info)
Assign a node to be computed in the GPU.
void syncDataTokens()
If there are servers with the same name that got de-duplicated in the _nodes list,...
void processVariable(NodeInfo &nodeInfo)
Process a variable in the computation graph.
std::unique_ptr< Detail::BufferManager > _bufferManager
std::stack< std::unique_ptr< ChangeOperModeRAII > > _changeOperModeRAIIs
void setClientsDirty(NodeInfo &nodeInfo)
Flags all the clients of a given node dirty.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
A struct used by the Evaluator to store information on the RooAbsArgs in the computation graph.