Logo ROOT  
Reference Guide
RooBatchComputeTypes.h
Go to the documentation of this file.
1/*
2 * Project: RooFit
3 * Authors:
4 * Emmanouil Michalainas, CERN 6 January 2021
5 *
6 * Copyright (c) 2021, CERN
7 *
8 * Redistribution and use in source and binary forms,
9 * with or without modification, are permitted according to the terms
10 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
11 */
12
13#ifndef ROOFIT_BATCHCOMPUTE_ROOBATCHCOMPUTETYPES_H
14#define ROOFIT_BATCHCOMPUTE_ROOBATCHCOMPUTETYPES_H
15
16#include <RooSpan.h>
17
18#include <vector>
19
20#ifdef __CUDACC__
21#define __roodevice__ __device__
22#define __roohost__ __host__
23#define __rooglobal__ __global__
24#else
25#define __roodevice__
26#define __roohost__
27#define __rooglobal__
28struct cudaEvent_t;
29struct cudaStream_t;
30#endif // #indef __CUDACC__
31
32namespace RooBatchCompute {
33
34struct RunContext;
35
36typedef std::vector<RooSpan<const double>> VarVector;
37typedef std::vector<double> ArgVector;
38typedef double *__restrict RestrictArr;
39typedef const double *__restrict InputArr;
40
41} // namespace RooBatchCompute
42
43#endif
Namespace for dispatching RooFit computations to various backends.
std::vector< RooSpan< const double > > VarVector
const double *__restrict InputArr
std::vector< double > ArgVector
double *__restrict RestrictArr