43 cudaGetDeviceProperties(&prop, dev);
47 snprintf(str,
sizeof(str),
"NVIDIA %s (%lu MB, CUDA device %d)",
48 prop.name, prop.totalGlobalMem / (1024 * 1024), dev);
66 err = cudaGetDeviceCount(&gpu_count);
67 if (err != cudaSuccess)
69 error = std::string(cudaGetErrorString(err));
73 for(
int dev = 0; dev < gpu_count; dev++)
76 cudaGetDeviceProperties(&prop, dev);
79 if (requirements.
device != -1 &&
80 dev != requirements.
device)
128 if (err != cudaSuccess)
130 ret = std::string(cudaGetErrorString(err));
134 err = cudaRuntimeGetVersion(&runtime_version);
135 if (err != cudaSuccess)
137 ret = std::string(cudaGetErrorString(err));
142 snprintf(buf,
sizeof(buf),
143 "NVIDIA CUDA %d.%d", runtime_version / 1000, runtime_version % 100 / 10);
145 ret = std::string(buf);
int compute_capability_major
int compute_capability_minor
static bool enumerate_gpus(std::vector< cuda_device_config > &devices, std::string &error, const cuda_device_config &requirements=cuda_device_config())
static bool runtime_initialize(std::string &ret)