This class overrides some RooBatchComputeInterface functions, for the purpose of providing a cuda specific implementation of the library.
Definition at line 90 of file RooBatchCompute.cu.
Public Member Functions | |
| RooBatchComputeClass () | |
| Architecture | architecture () const override |
| std::string | architectureName () const override |
| void | compute (RooBatchCompute::Config const &cfg, Computer computer, std::span< double > output, VarSpan vars, ArgSpan extraArgs) override |
| Compute multiple values using cuda kernels. | |
| std::unique_ptr< AbsBufferManager > | createBufferManager () const override |
| void | cudaEventRecord (CudaInterface::CudaEvent *event, CudaInterface::CudaStream *stream) const override |
| bool | cudaStreamIsActive (CudaInterface::CudaStream *stream) const override |
| void | cudaStreamWaitForEvent (CudaInterface::CudaStream *stream, CudaInterface::CudaEvent *event) const override |
| void | deleteCudaEvent (CudaInterface::CudaEvent *event) const override |
| void | deleteCudaStream (CudaInterface::CudaStream *stream) const override |
| CudaInterface::CudaEvent * | newCudaEvent (bool forTiming) const override |
| CudaInterface::CudaStream * | newCudaStream () const 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 (RooBatchCompute::Config const &cfg, InputArr input, size_t n) override |
| Return the sum of an input array. | |
Private Attributes | |
| const std::vector< void(*)(Batches &)> | _computeFunctions |
|
inline |
Definition at line 93 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 98 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 99 of file RooBatchCompute.cu.
|
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. |
| 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 108 of file RooBatchCompute.cu.
|
overridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 548 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 166 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 174 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 170 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 163 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 164 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 158 of file RooBatchCompute.cu.
|
inlineoverridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 162 of file RooBatchCompute.cu.
|
overridevirtual |
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 291 of file RooBatchCompute.cu.
|
overridevirtual |
Return the sum of an input array.
Implements RooBatchCompute::RooBatchComputeInterface.
Definition at line 276 of file RooBatchCompute.cu.
|
private |
Definition at line 177 of file RooBatchCompute.cu.