HeterogeneousCore
CUDAServices
interface
CUDAService.h
Go to the documentation of this file.
1
#ifndef HeterogeneousCore_CUDAServices_CUDAService_h
2
#define HeterogeneousCore_CUDAServices_CUDAService_h
3
4
#include <utility>
5
#include <vector>
6
7
#include "
FWCore/Utilities/interface/StreamID.h
"
8
9
namespace
edm
{
10
class
ParameterSet
;
11
class
ActivityRegistry
;
12
class
ConfigurationDescriptions
;
13
}
// namespace edm
14
15
class
CUDAService
{
16
public
:
17
CUDAService
(
edm::ParameterSet
const
& iConfig);
18
~CUDAService
();
19
20
static
void
fillDescriptions
(
edm::ConfigurationDescriptions
& descriptions);
21
22
bool
enabled
()
const
{
return
enabled_
; }
23
24
int
numberOfDevices
()
const
{
return
numberOfDevices_
; }
25
26
// major, minor
27
std::pair<int, int>
computeCapability
(
int
device)
const
{
return
computeCapabilities_
.at(device); }
28
29
// Returns the id of device with most free memory. If none is found, returns -1.
30
int
deviceWithMostFreeMemory
()
const
;
31
32
private
:
33
int
numberOfDevices_
= 0;
34
std::vector<std::pair<int, int>>
computeCapabilities_
;
35
bool
enabled_
=
false
;
36
};
37
38
#endif
ActivityRegistry
edm
HLT enums.
Definition:
AlignableModifier.h:19
CUDAService::numberOfDevices
int numberOfDevices() const
Definition:
CUDAService.h:24
CUDAService::enabled_
bool enabled_
Definition:
CUDAService.h:35
edm::ConfigurationDescriptions
Definition:
ConfigurationDescriptions.h:28
edm::ParameterSet
Definition:
ParameterSet.h:47
CUDAService::computeCapability
std::pair< int, int > computeCapability(int device) const
Definition:
CUDAService.h:27
ParameterSet
Definition:
Functions.h:16
CUDAService::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition:
CUDAService.cc:339
CUDAService::numberOfDevices_
int numberOfDevices_
Definition:
CUDAService.h:33
CUDAService::deviceWithMostFreeMemory
int deviceWithMostFreeMemory() const
Definition:
CUDAService.cc:368
CUDAService::enabled
bool enabled() const
Definition:
CUDAService.h:22
CUDAService::CUDAService
CUDAService(edm::ParameterSet const &iConfig)
Constructor.
Definition:
CUDAService.cc:122
ConfigurationDescriptions
CUDAService::~CUDAService
~CUDAService()
Definition:
CUDAService.cc:318
CUDAService::computeCapabilities_
std::vector< std::pair< int, int > > computeCapabilities_
Definition:
CUDAService.h:34
CUDAService
Definition:
CUDAService.h:15
StreamID.h
Generated for CMSSW Reference Manual by
1.8.16