通过 cuda 接口获取 GPU信息

创建日期: 2023-06-06 22:45 | 作者: 风波 | 浏览次数: 14 | 分类: CUDA

代码

来源:https://stackoverflow.com/questions/74788577/read-gpu-information-from-console-c

#include <iostream>
#include <chrono>
#include <cuda.h>

int main() {
  // Get the current timestamp
  auto current_time = std::chrono::system_clock::now();

  // Get the current driver version
  int driver_version;
  cudaDriverGetVersion(&driver_version);

  // Get the current CUDA version
  int cuda_version;
  cudaRuntimeGetVersion(&cuda_version);

  // Get the name of the attached GPU
  cudaDeviceProp device_properties;
  cudaGetDeviceProperties(&device_properties, 0);
  std::string gpu_name = device_properties.name;

  // Get the current voltage
  int power_usage;
  cudaDeviceGetPowerUsage(&power_usage, 0);
  int voltage = power_usage / current;

  // Output the overclocking data
  std::cout << "Timestamp: " << current_time << std::endl;
  std::cout << "Driver version: " << driver_version << std::endl;
  std::cout << "CUDA version: " << cuda_version << std::endl;
  std::cout << "Attached GPU: " << gpu_name << std::endl;
  std::cout << "Voltage: " << voltage << std::endl;

  return 0;
}

其中 cudaGetDeviceProperties(&device_properties, 0) 就是获取 GPU 信息。 函数介绍:https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__DEVICE.html#group__CUDART__DEVICE_1g1bf9d625a931d657e08db2b4391170f0

device_properties.uuid 就是GPU 的 UUID。 clas的英伟达官方介绍如下:https://docs.nvidia.com/cuda/cuda-runtime-api/structcudaDeviceProp.html#structcudaDeviceProp

14 浏览
0 评论