10 #include <curand_kernel.h>
12 #include <cuda_runtime.h>
13 #include <device_launch_parameters.h>
18 cudaGetDeviceCount(&nDevices);
19 for (
int i = 0; i < nDevices; i++) {
21 cudaGetDeviceProperties(&prop, i);
22 std::cerr <<
"Device Number: " << i <<
"\n";
23 std::cerr <<
"Device name: " << prop.name <<
"\n";
24 std::cerr <<
"Memory Clock Rate (KHz): " << prop.memoryClockRate <<
"\n";
25 std::cerr <<
"Memory Bus Width (bits): " << prop.memoryBusWidth <<
"\n";
26 std::cerr <<
"Peak Memory Bandwidth (GB/s): " << 2.0 * prop.memoryClockRate * (prop.memoryBusWidth / 8) / 1.0e6 <<
"\n";
27 std::cerr <<
"Max Linear Threads: " << prop.maxThreadsDim[0] <<
"\n";
33 if (_status != cudaSuccess) {
34 std::cerr <<
"\033[1;31m" << msg <<
" -> " << cudaGetErrorString(_status) <<
" ("<< _status <<
")" <<
"\033[0m" <<
"\n";