This class overrides some RooBatchComputeInterface functions, for the purpose of providing a cuda specific implementation of the library.
This class overrides some RooBatchComputeInterface functions, for the purpose of providing a CPU specific implementation of the library.
Definition at line 87 of file RooBatchCompute.cu.
Public Member Functions | |
RooBatchComputeClass () | |
RooBatchComputeClass () | |
Architecture | architecture () const override |
Architecture | architecture () const override |
std::string | architectureName () const override |
std::string | architectureName () const override |
void | compute (Config const &, Computer computer, RestrictArr output, size_t nEvents, const VarVector &vars, ArgVector &extraArgs) override |
Compute multiple values using optimized functions. | |
void | compute (RooBatchCompute::Config const &cfg, Computer computer, RestrictArr output, size_t nEvents, const VarVector &vars, ArgVector &extraArgs) override |
Compute multiple values using cuda kernels. | |
ReduceNLLOutput | reduceNLL (Config const &, std::span< const double > probas, std::span< const double > weights, std::span< const double > offsetProbas) override |
ReduceNLLOutput | reduceNLL (RooBatchCompute::Config const &cfg, 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 |
Return the sum of an input array. | |
double | reduceSum (RooBatchCompute::Config const &cfg, InputArr input, size_t n) override |
Return the sum of an input array. | |
Public Member Functions inherited from RooBatchCompute::RooBatchComputeInterface | |
virtual | ~RooBatchComputeInterface ()=default |
void | compute (Config const &cfg, Computer comp, RestrictArr output, size_t size, const VarVector &vars) |
Private Attributes | |
const std::vector< void(*)(BatchesHandle)> | _computeFunctions |
|
inline |
Definition at line 92 of file RooBatchCompute.cu.
|
inline |
Definition at line 83 of file RooBatchCompute.cxx.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 97 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 89 of file RooBatchCompute.cxx.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 98 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 90 of file RooBatchCompute.cxx.
|
inlineoverridevirtual |
Compute multiple values using optimized functions.
This method creates a Batches object and passes it to the correct compute function. In case Implicit Multithreading is enabled, the events to be processed are equally divided among the tasks to be generated and computed in parallel.
computer | An enum specifying the compute function to be used. |
output | The array where the computation results are stored. |
nEvents | The number of events to be processed. |
vars | A std::vector containing pointers to the variables involved in the computation. |
extraArgs | An optional std::vector containing extra double values that may participate in the computation. |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 113 of file RooBatchCompute.cxx.
|
inlineoverridevirtual |
Compute multiple values using cuda kernels.
This method creates a Batches object and passes it to the correct compute function. The compute function is launched as a cuda kernel.
computer | An enum specifying the compute function to be used. |
output | The array where the computation results are stored. |
nEvents | The number of events to be processed. |
vars | A std::vector containing pointers to the variables involved in the computation. |
extraArgs | An optional std::vector containing extra double values that may participate in the computation. |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 114 of file RooBatchCompute.cu.
|
overridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
|
overridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 269 of file RooBatchCompute.cu.
|
overridevirtual |
Return the sum of an input array.
Implements RooBatchCompute::RooBatchComputeInterface.
|
overridevirtual |
Return the sum of an input array.
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 256 of file RooBatchCompute.cu.
|
private |
Definition at line 89 of file RooBatchCompute.cu.