Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
HeterogeneousCore
CUDAUtilities
src
requireDevices.cc
Go to the documentation of this file.
1
#include <cstdlib>
2
#include <iostream>
3
4
#include <cuda_runtime.h>
5
6
#include "
HeterogeneousCore/CUDAUtilities/interface/requireDevices.h
"
7
8
namespace
cms::cudatest {
9
bool
testDevices
() {
10
int
devices = 0;
11
auto
status
= cudaGetDeviceCount(&devices);
12
if
(
status
!= cudaSuccess) {
13
std::cerr
<<
"Failed to initialise the CUDA runtime, the test will be skipped."
14
<<
"\n"
;
15
return
false
;
16
}
17
if
(devices == 0) {
18
std::cerr
<<
"No CUDA devices available, the test will be skipped."
19
<<
"\n"
;
20
return
false
;
21
}
22
return
true
;
23
}
24
25
void
requireDevices
() {
26
if
(not
testDevices
()) {
27
exit
(EXIT_SUCCESS);
28
}
29
}
30
}
// namespace cms::cudatest
mps_update.status
list status
Definition:
mps_update.py:107
cms::cudatest::testDevices
bool testDevices()
In presence of CUDA devices, return true; otherwise print message and return false.
Definition:
requireDevices.cc:9
requireDevices.h
cms::cudatest::requireDevices
void requireDevices()
Print message and exit if there are no CUDA devices.
Definition:
requireDevices.cc:25
beamvalidation.exit
def exit
Definition:
beamvalidation.py:52
EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.cerr
tuple cerr
Definition:
EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.py:8
Generated for CMSSW Reference Manual by
1.8.5