在使用CUDA的NVML库之前,需要安装CUDA SDK.
需要确定文件夹“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include”下包含nvml.h文件,并将该地址包含在工程中。
需要确定文件夹“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include下”包含nvml.lib文件,并将该地址包含在工程中。
将文件夹“C:\Program Files\NVIDIA Corporation\NVSMI”下的nvml.dll拷贝到工程目录下。
在VS2010上编写的代码如下:
#include <iostream>
#include <vector>
#include <fstream>
#include <sstream>
#include <cstdlib>
#include <ctime>
#include <string.h>
#include "cuda_runtime.h"
#include <windows.h>
#include "nvml.h"
int main(int argc, char* argv[])
{
nvmlReturn_t result0;
unsigned int device_count;
result0 = nvmlInit();
result0 = nvmlDeviceGetCount(&device_count);
if (NVML_SUCCESS != result0)
{
std::cout << "Failed to query device count: " << nvmlErrorString(result0);
return -1;
}
std::cout << "Found" << device_count <<" device" << std::endl;
std::stringstream availGPUTxt;
for (int i=0; i<device_count; i++)
{
nvmlDevice_t device;
nvmlPciInfo_t pci;
result0 = nvmlDeviceGetHandleByIndex(i, &device);
if (NVML_SUCCESS != res