#include "RooBatchCompute.h"
#include "RooNaNPacker.h"
#include "RooVDTHeaders.h"
#include "Batches.h"
#include <TMath.h>
#include <RooHeterogeneousMath.h>
#include <vector>
Namespaces | |
namespace | RooBatchCompute |
Namespace for dispatching RooFit computations to various backends. | |
namespace | RooBatchCompute::CUDA |
Macros | |
#define | BEGIN 0 |
#define | STEP 1 |
This file contains vectorizable computation functions for PDFs and other Roofit objects.
The same source file can also be compiled with nvcc. All functions have a single Batches
object as an argument passed by value, which contains all the information necessary for the computation. In case of cuda computations, the loops have a step (stride) the size of the grid which allows for reusing the same code as the cpu implementations, easier debugging and in terms of performance, maximum memory coalescing. For more details, see https://developer.nvidia.com/blog/cuda-pro-tip-write-flexible-kernels-grid-stride-loops/
Definition in file ComputeFunctions.cxx.
#define BEGIN 0 |
Definition at line 41 of file ComputeFunctions.cxx.
#define STEP 1 |
Definition at line 42 of file ComputeFunctions.cxx.