MUSIC unknown
Analysis for the MUSIC active-target ionization chamber
Loading...
Searching...
No Matches
GpuAccel.hpp
Go to the documentation of this file.
1#ifndef GPU_ACCEL_HPP
2#define GPU_ACCEL_HPP
3
4#include "Constants.hpp"
5#include <Rtypes.h>
6#include <dlfcn.h>
7#include <iostream>
8#include <mutex>
9
21class GpuAccel {
22public:
24 typedef int (*SortFunc)(void *, long long);
25
40 static Bool_t Init();
41
44 static Bool_t Available();
45
49 static SortFunc GetSort();
50
65 static Bool_t TryAcquireSortSlot();
66
70 static void ReleaseSortSlot();
71};
72
73#endif
The dataset configuration, and how it is layered.
Runtime access to the CUDA timestamp-sort kernel.
Definition GpuAccel.hpp:21
static Bool_t TryAcquireSortSlot()
Claim one of the concurrent GPU sort slots.
Definition GpuAccel.cpp:45
static Bool_t Init()
Load the GPU library and resolve the sort symbol.
Definition GpuAccel.cpp:9
static void ReleaseSortSlot()
Give back a slot claimed by TryAcquireSortSlot().
Definition GpuAccel.cpp:53
static SortFunc GetSort()
The resolved sort entry point.
Definition GpuAccel.cpp:43
int(* SortFunc)(void *, long long)
Signature of the sort entry point: buffer, element count, status.
Definition GpuAccel.hpp:24
static Bool_t Available()
Whether the kernel loaded successfully.
Definition GpuAccel.cpp:41