是否有一种简单可靠的方法来获取物理GPU内存的总量?

我已经尝试过了,但是问题是它返回了4096MB,而我使用的是6144MB的GTX 780,所以是的,显示不正确。

代码:

using System.Management;

private void getGpuMem()
{
    ManagementClass c = new ManagementClass("Win32_VideoController");
    foreach (ManagementObject o in c.GetInstances())
    {
        string gpuTotalMem = String.Format("{0} ", o["AdapterRam"]);
        Debug.Write(gpuTotalMem);
    }
}

最佳答案

正如MSDN中所说



这就是为什么它返回4gb的原因。

您可以尝试使用CUDAfy.net

GPGPU gpu = CudafyHost.GetDevice(CudafyModes.Target, CudafyModes.DeviceId);
var c = gpu.GetDeviceProperties(true);
var p = c.TotalMemory;
Console.WriteLine(p);

关于c# - 获取GPU内存总量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37601105/

10-11 02:00