Project
Loading...
Searching...
No Matches
Context.h
Go to the documentation of this file.
1
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3
// All rights not expressly granted are reserved.
4
//
5
// This software is distributed under the terms of the GNU General Public
6
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7
//
8
// In applying this license CERN does not waive the privileges and immunities
9
// granted to it by virtue of its status as an Intergovernmental Organization
10
// or submit itself to any jurisdiction.
15
16
#ifndef ITSTRACKINGGPU_CONTEXT_H_
17
#define ITSTRACKINGGPU_CONTEXT_H_
18
19
#include <string>
20
#include <vector>
21
#include "
ITStracking/Definitions.h
"
22
23
namespace
o2
24
{
25
namespace
its
26
{
27
namespace
gpu
28
{
29
30
struct
DeviceProperties
final {
31
std::string
name
;
32
int
gpuProcessors
;
33
int
gpuCores
;
34
long
globalMemorySize
;
35
long
constantMemorySize
;
36
long
sharedMemorySize
;
37
long
maxClockRate
;
38
int
busWidth
;
39
long
l2CacheSize
;
40
long
registersPerBlock
;
41
int
warpSize
;
42
int
maxThreadsPerBlock
;
43
int
maxBlocksPerSM
;
44
dim3
maxThreadsDim
;
45
dim3
maxGridDim
;
46
};
47
48
class
Context
final
49
{
50
public
:
51
static
Context
&
getInstance
();
52
53
Context
(
const
Context
&);
54
Context
&
operator=
(
const
Context
&);
55
56
const
DeviceProperties
&
getDeviceProperties
();
57
const
DeviceProperties
&
getDeviceProperties
(
const
int
);
58
59
private
:
60
Context
(
bool
dumpDevices =
false
);
61
~Context
() =
default
;
62
63
int
mDevicesNum;
64
std::vector<DeviceProperties> mDeviceProperties;
65
};
66
}
// namespace gpu
67
}
// namespace its
68
}
// namespace o2
69
70
#endif
/* TRAKINGITSU_INCLUDE_GPU_CONTEXT_H_ */
Definitions.h
o2::its::gpu::Context
Definition
Context.h:49
o2::its::gpu::Context::operator=
Context & operator=(const Context &)
o2::its::gpu::Context::getInstance
static Context & getInstance()
o2::its::gpu::Context::getDeviceProperties
const DeviceProperties & getDeviceProperties(const int)
o2::its::gpu::Context::getDeviceProperties
const DeviceProperties & getDeviceProperties()
o2::its::gpu::Context::Context
Context(const Context &)
o2
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Definition
BitstreamReader.h:24
dim3
Definition
GPUCommonDefAPI.h:75
o2::its::gpu::DeviceProperties
Definition
Context.h:30
o2::its::gpu::DeviceProperties::sharedMemorySize
long sharedMemorySize
Definition
Context.h:36
o2::its::gpu::DeviceProperties::constantMemorySize
long constantMemorySize
Definition
Context.h:35
o2::its::gpu::DeviceProperties::globalMemorySize
long globalMemorySize
Definition
Context.h:34
o2::its::gpu::DeviceProperties::maxBlocksPerSM
int maxBlocksPerSM
Definition
Context.h:43
o2::its::gpu::DeviceProperties::registersPerBlock
long registersPerBlock
Definition
Context.h:40
o2::its::gpu::DeviceProperties::maxThreadsPerBlock
int maxThreadsPerBlock
Definition
Context.h:42
o2::its::gpu::DeviceProperties::l2CacheSize
long l2CacheSize
Definition
Context.h:39
o2::its::gpu::DeviceProperties::gpuProcessors
int gpuProcessors
Definition
Context.h:32
o2::its::gpu::DeviceProperties::name
std::string name
Definition
Context.h:31
o2::its::gpu::DeviceProperties::busWidth
int busWidth
Definition
Context.h:38
o2::its::gpu::DeviceProperties::maxThreadsDim
dim3 maxThreadsDim
Definition
Context.h:44
o2::its::gpu::DeviceProperties::warpSize
int warpSize
Definition
Context.h:41
o2::its::gpu::DeviceProperties::gpuCores
int gpuCores
Definition
Context.h:33
o2::its::gpu::DeviceProperties::maxGridDim
dim3 maxGridDim
Definition
Context.h:45
o2::its::gpu::DeviceProperties::maxClockRate
long maxClockRate
Definition
Context.h:37
Detectors
ITSMFT
ITS
tracking
GPU
ITStrackingGPU
Context.h
Generated on Tue Feb 25 2025 23:16:20 for Project by
1.9.8