|
Analysis-Utilities 26.9.9
C++/ROOT utilities for nuclear measurement data analysis
|
Host-callable launch wrappers for the photopeak PDF CUDA kernels. More...
#include <cstddef>Go to the source code of this file.
Functions | |
| void | RooLowExpTail_launchKernel (double *output, const double *x_vals, double mu, double inv_tau, double inv_sqrt2_sigma, size_t n) |
| Launch the low-energy exponential tail kernel. | |
| void | RooStepShelf_launchKernel (double *output, const double *x_vals, double mu, double inv_sigma, size_t n) |
| Launch the resolution-smeared step-shelf kernel. | |
| void | RooLowLinTail_launchKernel (double *output, const double *x_vals, double mu, double slope, double inv_sqrt2_sigma, size_t n) |
| Launch the low-energy linear tail kernel. | |
| void | RooHighExpTail_launchKernel (double *output, const double *x_vals, double mu, double inv_tau, double inv_sqrt2_sigma, size_t n) |
| Launch the high-energy exponential tail kernel. | |
Host-callable launch wrappers for the photopeak PDF CUDA kernels.
Each launcher takes device pointers plus the constants hoisted once per Minuit evaluation — reciprocals are passed in already inverted so the kernel multiplies rather than divides per element — dispatches the kernel, and returns as soon as the stream has accepted the launch.
These are declared unconditionally, but only defined when the library is built with -DAU_USE_CUDA=ON. The CPU build never compiles gpu/*.cu, so calling one of these in a CPU build is a link error. The custom PDFs reach them only from a doEval path already guarded by canComputeBatchWithCuda().
Definition in file RooFitPhotopeakKernels.hpp.
| void RooHighExpTail_launchKernel | ( | double * | output, |
| const double * | x_vals, | ||
| double | mu, | ||
| double | inv_tau, | ||
| double | inv_sqrt2_sigma, | ||
| size_t | n ) |
Launch the high-energy exponential tail kernel.
| output | Device buffer for n PDF values. |
| x_vals | Device buffer of n observable values. |
| mu | Peak centroid, in the observable's units. |
| inv_tau | Reciprocal of the tail decay constant. |
| inv_sqrt2_sigma | 1 / (sqrt(2) * sigma), the resolution factor. |
| n | Number of elements. |
Definition at line 37 of file RooHighExpTail.cu.
Referenced by RooHighExpTail::doEval().
| void RooLowExpTail_launchKernel | ( | double * | output, |
| const double * | x_vals, | ||
| double | mu, | ||
| double | inv_tau, | ||
| double | inv_sqrt2_sigma, | ||
| size_t | n ) |
Launch the low-energy exponential tail kernel.
| output | Device buffer for n PDF values. |
| x_vals | Device buffer of n observable values. |
| mu | Peak centroid, in the observable's units. |
| inv_tau | Reciprocal of the tail decay constant. |
| inv_sqrt2_sigma | 1 / (sqrt(2) * sigma), the resolution factor. |
| n | Number of elements. |
Definition at line 37 of file RooLowExpTail.cu.
Referenced by RooLowExpTail::doEval().
| void RooLowLinTail_launchKernel | ( | double * | output, |
| const double * | x_vals, | ||
| double | mu, | ||
| double | slope, | ||
| double | inv_sqrt2_sigma, | ||
| size_t | n ) |
Launch the low-energy linear tail kernel.
| output | Device buffer for n PDF values. |
| x_vals | Device buffer of n observable values. |
| mu | Peak centroid, in the observable's units. |
| slope | Linear tail slope s in the (1 + s*(x - mu)) factor, which is floored at zero to keep the PDF non-negative. |
| inv_sqrt2_sigma | 1 / (sqrt(2) * sigma), the resolution factor. |
| n | Number of elements. |
Definition at line 24 of file RooLowLinTail.cu.
Referenced by RooLowLinTail::doEval().
| void RooStepShelf_launchKernel | ( | double * | output, |
| const double * | x_vals, | ||
| double | mu, | ||
| double | inv_sigma, | ||
| size_t | n ) |
Launch the resolution-smeared step-shelf kernel.
| output | Device buffer for n PDF values. |
| x_vals | Device buffer of n observable values. |
| mu | Peak centroid, in the observable's units. |
| inv_sigma | Reciprocal of the Gaussian resolution. |
| n | Number of elements. |
Definition at line 27 of file RooStepShelf.cu.
Referenced by RooStepShelf::doEval().