C# 如何获得总GPU RAM(超过4gb内存)?
我正在尝试获得总的GPU内存值。我尝试使用WMI,但它返回的值不高于4gb 读了几篇文章后,我发现了库达菲C# 如何获得总GPU RAM(超过4gb内存)?,c#,gpu,nvidia,C#,Gpu,Nvidia,我正在尝试获得总的GPU内存值。我尝试使用WMI,但它返回的值不高于4gb 读了几篇文章后,我发现了库达菲 public static ulong GetGpuMemory() { GPGPU gpu = CudafyHost.GetDevice(CudafyModes.Target, CudafyModes.DeviceId); var c = gpu.GetDeviceProperties(true); var p = c.TotalMemory; retu
public static ulong GetGpuMemory()
{
GPGPU gpu = CudafyHost.GetDevice(CudafyModes.Target, CudafyModes.DeviceId);
var c = gpu.GetDeviceProperties(true);
var p = c.TotalMemory;
return p;
}
出于某种原因,它返回的是最大ulong值
有什么想法吗?
你知道从NVIDIA和AMD GPU获得正确GPU内存值的其他方法吗?从注册表中获取十六进制值,然后转换它怎么样?我试图写一些代码,但没有成功。提前感谢您的帮助您想要的是真正的价值,还是仅仅是设备所说的价值?这是否回答了您的问题@如果JHBonarius在寻找真实值,而不是控制器芯片输出的值,那么这两种方法都不起作用。@Liam不,它不起作用。有以下信息:WMI,返回最大4gb值;Cudafy,在我的例子中不起作用(返回最大ulong值)SharpDX,它对所有人都不起作用GPUs@JHBonarius如上所述。NVAPI也不支持AMD,不过谢谢您的回答!