Project
Loading...
Searching...
No Matches
o2::benchmark::GPUbenchmark< chunk_t > Class Template Referencefinal

#include <Kernels.h>

Public Member Functions

 GPUbenchmark ()=delete
 
 GPUbenchmark (benchmarkOpts &opts)
 
virtual ~GPUbenchmark ()=default
 
template<typename... T>
float measure (void(GPUbenchmark::*)(T...), const char *, T &&... args)
 
template<typename... T>
float runSequential (void(*kernel)(chunk_t *, size_t, T...), std::pair< float, float > &chunkRanges, int32_t nLaunches, int32_t dimGrid, int32_t dimBlock, T &... args)
 
template<typename... T>
std::vector< float > runConcurrent (void(*kernel)(chunk_t *, size_t, T...), std::vector< std::pair< float, float > > &chunkRanges, int32_t nLaunches, int32_t dimStreams, int32_t nBlocks, int32_t nThreads, T &... args)
 
template<typename... T>
float runDistributed (void(*kernel)(chunk_t **, size_t *, T...), std::vector< std::pair< float, float > > &chunkRanges, int32_t nLaunches, size_t nBlocks, int32_t nThreads, T &... args)
 
void globalInit ()
 
void run ()
 
void globalFinalize ()
 
void printDevices ()
 
void initTest (Test)
 
void finalizeTest (Test)
 
void runTest (Test, Mode, KernelConfig)
 

Detailed Description

template<class chunk_t>
class o2::benchmark::GPUbenchmark< chunk_t >

Definition at line 31 of file Kernels.h.

Constructor & Destructor Documentation

◆ GPUbenchmark() [1/2]

template<class chunk_t >
o2::benchmark::GPUbenchmark< chunk_t >::GPUbenchmark ( )
delete

◆ GPUbenchmark() [2/2]

template<class chunk_t >
o2::benchmark::GPUbenchmark< chunk_t >::GPUbenchmark ( benchmarkOpts opts)
inline

Definition at line 35 of file Kernels.h.

◆ ~GPUbenchmark()

template<class chunk_t >
virtual o2::benchmark::GPUbenchmark< chunk_t >::~GPUbenchmark ( )
virtualdefault

Member Function Documentation

◆ finalizeTest()

template<class chunk_t >
void o2::benchmark::GPUbenchmark< chunk_t >::finalizeTest ( Test  )

◆ globalFinalize()

template<class chunk_t >
void o2::benchmark::GPUbenchmark< chunk_t >::globalFinalize ( )

◆ globalInit()

template<class chunk_t >
void o2::benchmark::GPUbenchmark< chunk_t >::globalInit ( )

◆ initTest()

template<class chunk_t >
void o2::benchmark::GPUbenchmark< chunk_t >::initTest ( Test  )

◆ measure()

template<class chunk_t >
template<typename... T>
float o2::benchmark::GPUbenchmark< chunk_t >::measure ( void(GPUbenchmark< chunk_t >::*)(T...)  ,
const char ,
T &&...  args 
)

◆ printDevices()

template<class chunk_t >
void o2::benchmark::GPUbenchmark< chunk_t >::printDevices ( )

◆ run()

template<class chunk_t >
void o2::benchmark::GPUbenchmark< chunk_t >::run ( )

◆ runConcurrent()

template<class chunk_t >
template<typename... T>
std::vector< float > o2::benchmark::GPUbenchmark< chunk_t >::runConcurrent ( void(*)(chunk_t *, size_t, T...)  kernel,
std::vector< std::pair< float, float > > &  chunkRanges,
int32_t  nLaunches,
int32_t  dimStreams,
int32_t  nBlocks,
int32_t  nThreads,
T &...  args 
)

◆ runDistributed()

template<class chunk_t >
template<typename... T>
float o2::benchmark::GPUbenchmark< chunk_t >::runDistributed ( void(*)(chunk_t **, size_t *, T...)  kernel,
std::vector< std::pair< float, float > > &  chunkRanges,
int32_t  nLaunches,
size_t  nBlocks,
int32_t  nThreads,
T &...  args 
)

◆ runSequential()

template<class chunk_t >
template<typename... T>
float o2::benchmark::GPUbenchmark< chunk_t >::runSequential ( void(*)(chunk_t *, size_t, T...)  kernel,
std::pair< float, float > &  chunkRanges,
int32_t  nLaunches,
int32_t  dimGrid,
int32_t  dimBlock,
T &...  args 
)

◆ runTest()

template<class chunk_t >
void o2::benchmark::GPUbenchmark< chunk_t >::runTest ( Test  ,
Mode  ,
KernelConfig   
)

The documentation for this class was generated from the following file: