2014-09-30 33 views
3

我有一個GTX Titan Z圖形卡。它有雙GPU,總內存爲12 GB(6GB + 6GB)。當我在Cuda Sample(V6.5)文件夾中使用DeviceQuery應用程序來查看規範時,它顯示兩個設備,每個設備的總內存爲4 GB。此外,在我的C++代碼中,我只能訪問4GB內存。另一方面,當我運行GPU-Z軟件時,它顯示兩個Titan Z,每個都有6GB內存。任何人都可以解釋導致這個問題的原因以及如何解決?GTX Titan Z全球內存

+5

你在運行什麼操作系統? 32/64位? – Jez 2014-09-30 16:03:38

+0

Windows 7,64位。 – user3692886 2014-09-30 16:45:05

+0

您是否使用Visual Studio的「快速」版本來編譯應用程序?如果是這樣,Express版本只支持創建32位可執行文件(主機和設備代碼),因此您將遇到4GB的限制。 – 2014-09-30 17:06:59

回答

5

這裏的問題是程序被編譯爲32位應用程序。 32位的程序只能處理4GB的內存。 CUDA呼叫檢查設備規格(cudaGetDeviceProperties)似乎認識到這一事實,並且只報告您實際可以使用的4GB。

編譯爲64位應用程序應該可以解決此問題。