CMS 3D CMS Logo

Classes | Functions
cms::cudatest Namespace Reference

Classes

class  Thing
 

Functions

void requireDevices ()
 Print message and exit if there are no CUDA devices. More...
 
bool testDevices ()
 In presence of CUDA devices, return true; otherwise print message and return false. More...
 

Function Documentation

◆ requireDevices()

void cms::cudatest::requireDevices ( )

Print message and exit if there are no CUDA devices.

Definition at line 25 of file requireDevices.cc.

25  {
26  if (not testDevices()) {
27  exit(EXIT_SUCCESS);
28  }
29  }

References beamvalidation::exit(), and testDevices().

◆ testDevices()

bool cms::cudatest::testDevices ( )

In presence of CUDA devices, return true; otherwise print message and return false.

Definition at line 9 of file requireDevices.cc.

9  {
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  }

References beam_dqm_sourceclient-live_cfg::cerr, and mps_update::status.

Referenced by requireDevices().

mps_update.status
status
Definition: mps_update.py:69
cms::cudatest::testDevices
bool testDevices()
In presence of CUDA devices, return true; otherwise print message and return false.
Definition: requireDevices.cc:9
beam_dqm_sourceclient-live_cfg.cerr
cerr
Definition: beam_dqm_sourceclient-live_cfg.py:17
beamvalidation.exit
def exit(msg="")
Definition: beamvalidation.py:53