This class overrides some RooBatchComputeInterface functions, for the purpose of providing a CPU specific implementation of the library.
Definition at line 192 of file RooBatchCompute.cxx.
Public Member Functions | |
| RooBatchComputeClass () | |
| Architecture | architecture () const override |
| std::string | architectureName () const override |
| void | compute (Config const &, Computer computer, std::span< double > output, VarSpan vars, ArgSpan extraArgs) override |
| Compute multiple values using optimized functions. | |
| std::unique_ptr< AbsBufferManager > | createBufferManager () const override |
| void | deleteCudaStream (CudaInterface::CudaStream *) const override |
| CudaInterface::CudaStream * | newCudaStream () const override |
| ReduceNLLOutput | reduceNLL (Config const &, std::span< const double > probas, std::span< const double > weights, std::span< const double > offsetProbas) override |
| double | reduceSum (Config const &, InputArr input, size_t n) override |
| void | synchronizeCudaStream (CudaInterface::CudaStream *) const override |
| Wait until all work that was enqueued on the stream has completed. | |
Private Attributes | |
| const std::vector< void(*)(Batches &)> | _computeFunctions |
|
inline |
Definition at line 194 of file RooBatchCompute.cxx.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 200 of file RooBatchCompute.cxx.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 201 of file RooBatchCompute.cxx.
|
overridevirtual |
Compute multiple values using optimized functions.
This method creates a Batches object and passes it to the correct compute function. If the configuration requests more than one thread and the batch is large enough, the events are processed in fixed-size chunks by parallel tasks.
| cfg | Configuration, steering among other things the number of threads. |
| computer | An enum specifying the compute function to be used. |
| output | The array where the computation results are stored. |
| vars | A std::span containing pointers to the variables involved in the computation. |
| extraArgs | An optional std::span containing extra double values that may participate in the computation. |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 233 of file RooBatchCompute.cxx.
|
overridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 514 of file RooBatchCompute.cxx.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 217 of file RooBatchCompute.cxx.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 216 of file RooBatchCompute.cxx.
|
overridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 355 of file RooBatchCompute.cxx.
|
overridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 297 of file RooBatchCompute.cxx.
|
inlineoverridevirtual |
Wait until all work that was enqueued on the stream has completed.
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 218 of file RooBatchCompute.cxx.
|
private |
Definition at line 221 of file RooBatchCompute.cxx.