A struct used by the Evaluator to store information on the RooAbsArgs in the computation graph.
Definition at line 97 of file Evaluator.cxx.
Public Member Functions | |
| void | decrementRemainingClients () |
| Check the servers of a node that has been computed and release its resources if they are no longer needed. | |
| bool | isScalar () const |
Public Attributes | |
| RooAbsArg * | absArg = nullptr |
| std::shared_ptr< RooBatchCompute::AbsBuffer > | buffer |
| std::vector< NodeInfo * > | clientInfos |
| bool | computeInGPU = false |
| bool | copyAfterEvaluation = false |
| bool | fromArrayInput = false |
| bool | hasLogged = false |
| std::size_t | iNode = 0 |
| bool | isCategory = false |
| bool | isDirty = true |
| bool | isValueServer = false |
| bool | isVariable = false |
| int | lastCatVal = std::numeric_limits<int>::max() |
| std::size_t | lastSetValCount = std::numeric_limits<std::size_t>::max() |
| RooAbsArg::OperMode | originalOperMode |
| std::size_t | outputSize = 1 |
| int | remClients = 0 |
| double | scalarBuffer = 0.0 |
| std::vector< NodeInfo * > | serverInfos |
|
inline |
Check the servers of a node that has been computed and release its resources if they are no longer needed.
Buffers of nodes whose results are copied between host and device (copyAfterEvaluation) must not be released eagerly: their pinned host memory can still be the source of an asynchronous copy that was enqueued on the CUDA stream, and a new owner would overwrite it from the CPU without any stream ordering. Those buffers are released at the beginning of the next evaluation instead, after the stream was synchronized at the end of this one.
Definition at line 130 of file Evaluator.cxx.
|
inline |
Definition at line 99 of file Evaluator.cxx.
| RooAbsArg* RooFit::NodeInfo::absArg = nullptr |
Definition at line 101 of file Evaluator.cxx.
| std::shared_ptr<RooBatchCompute::AbsBuffer> RooFit::NodeInfo::buffer |
Definition at line 104 of file Evaluator.cxx.
| std::vector<NodeInfo *> RooFit::NodeInfo::clientInfos |
Definition at line 120 of file Evaluator.cxx.
Definition at line 113 of file Evaluator.cxx.
Definition at line 107 of file Evaluator.cxx.
Definition at line 108 of file Evaluator.cxx.
Definition at line 112 of file Evaluator.cxx.
| std::size_t RooFit::NodeInfo::iNode = 0 |
Definition at line 105 of file Evaluator.cxx.
Definition at line 111 of file Evaluator.cxx.
Definition at line 110 of file Evaluator.cxx.
Definition at line 114 of file Evaluator.cxx.
Definition at line 109 of file Evaluator.cxx.
Definition at line 117 of file Evaluator.cxx.
| std::size_t RooFit::NodeInfo::lastSetValCount = std::numeric_limits<std::size_t>::max() |
Definition at line 116 of file Evaluator.cxx.
| RooAbsArg::OperMode RooFit::NodeInfo::originalOperMode |
Definition at line 102 of file Evaluator.cxx.
| std::size_t RooFit::NodeInfo::outputSize = 1 |
Definition at line 115 of file Evaluator.cxx.
| int RooFit::NodeInfo::remClients = 0 |
Definition at line 106 of file Evaluator.cxx.
| double RooFit::NodeInfo::scalarBuffer = 0.0 |
Definition at line 118 of file Evaluator.cxx.
| std::vector<NodeInfo *> RooFit::NodeInfo::serverInfos |
Definition at line 119 of file Evaluator.cxx.