2016-06-02 13 views
8

क्या भौतिक जीपीयू मेमोरी की कुल राशि प्राप्त करने के लिए कोई आसान और विश्वसनीय तरीका है?जीपीयू मेमोरी की कुल राशि प्राप्त करें?

मैंने यह कोशिश की है, लेकिन समस्या यह है कि यह 4096 एमबी लौटाता है और मैं 6144 एमबी के साथ जीटीएक्स 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); 
    } 
} 
+2

जैसा कि मैंने माना है कि 'Win32_VideoController' अधिकतम 4 जीबी देता है क्योंकि यह Win32 उपयोग है। – Valentin

+0

यह सुनिश्चित नहीं है कि आपने यह https://msdn.microsoft.com/en-us/library/system.windows.gpuinformation%28v=vs.95%29.aspx?f=255&MSPPError=-2147217396 – techspider

+0

देखा है तो क्या होगा यदि आप एक से अधिक GPU है? – n8wrl

उत्तर

4

यह MSDN

हार्डवेयर (WDDM) इस वर्ग की घटनाओं के लिए गलत संपत्ति मूल्यों रिटर्न कि विंडोज प्रदर्शन चालक मॉडल के साथ संगत नहीं है में कहा जाता है के रूप में ।

यही कारण है कि यह 4 जीबी देता है।

आप CUDAfy.net

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

जब मैं CUDAFY के साथ ^^ का प्रयास करता हूं तो मुझे एक बड़ी संख्या मिलती है: 18446744073709551615 –

+0

@ PatrikFröhler यह int64 अधिकतम संख्या है, अजीब – Valentin

+0

मैं इस मुद्दे को "Ulong TotalMemory ओवरराइड" कैसे कर सकता हूं? http://www.hybriddsp.com/portals/0/cudafy/html/40825c56-a74f-9b79-0613-6b6fc4736dd2.htm –

0

उपयोग करने के लिए एक आवरण DirectX SharpDX कहा जाता है के लिए नहीं है की कोशिश कर सकते हैं। सी ++ https://code.msdn.microsoft.com/windowsdesktop/DirectX-Video-Memory-ee7d8319 ए में संकलित-सक्षम उदाहरण है, आप दृश्य स्टूडियो में शार्पडीएक्स पुस्तकालयों (NuGet पैकेज प्रबंधक से) के साथ कोड को फिर से बना सकते हैं, या आप सी ++ कोड को संकलित कर सकते हैं और exe को एक प्रक्रिया के रूप में कॉल कर सकते हैं आपके भीतर सी # कोड।

संबंधित मुद्दे