src
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
cms::cudatest::testDevices
bool testDevices()
In presence of CUDA devices, return true; otherwise print message and return false.
Definition:
requireDevices.cc:9
mps_update.status
status
Definition:
mps_update.py:68
DMR_cfg.cerr
cerr
Definition:
DMR_cfg.py:78
cms::cudatest::requireDevices
void requireDevices()
Print message and exit if there are no CUDA devices.
Definition:
requireDevices.cc:25
cms::alpakatools::devices
std::vector< alpaka::Dev< TPlatform > > const & devices()
Definition:
devices.h:22
cms::cudatest
Definition:
ScopedContext.h:18
requireDevices.h
beamvalidation.exit
def exit(msg="")
Definition:
beamvalidation.py:52
Generated for CMSSW Reference Manual by
1.8.14