none
AMP reports different device memory capacity RRS feed

  • Question

  • Hello. I'm testing AMP on an NVidia GTX460. In the NVidia control panel -> device properties section the memory is reported as being 1023 MB GDDR5. However, when I query the "accelerator.dedicated_memory" property it is reported as 1001472 KB (978 MB). what is accounting for this difference?

    -L

    Wednesday, September 12, 2012 11:30 PM

Answers

  • Hi LKeene,

    The discrepancy in accelerator::dedicated_memory vs. the memory reported in device manager, it due to the driver or the GPU hardware reserving part of the dedicated video memory which is unavailable for general graphics processing and is outside the scope of the algorithm used by Windows for calculating dedicated memory. This support article describes the issue in detail.

    Regarding the query on double precision, C++ AMP categorizes double support as “supports_limited_double_precision” and “supports_double_precision”. The details of the basis of categorization can be found in this blog post. I would expect your card to report "supports_limited_double_precision” as true and report full double precision only when using a WDDM 1.2 driver (on Windows 8).

    -Amit


    Amit K Agarwal


    • Edited by Amit K AgarwalModerator Thursday, September 13, 2012 2:44 AM
    • Proposed as answer by Zhu, Weirong Thursday, September 13, 2012 4:00 AM
    • Marked as answer by LKeene Wednesday, September 19, 2012 5:13 PM
    Thursday, September 13, 2012 2:43 AM
    Moderator

All replies

  • In addition to the above, the "description" property reports "NVIDIA GeForce GTX 460" (the correct device), the "has_display" property reports "True" which is also correct in my case, but the "supports_double_precision" property reports as "False" which is untrue for this device (the GTX 460 does indeed support FP64).

    -L

    Thursday, September 13, 2012 12:16 AM
  • Hi LKeene,

    The discrepancy in accelerator::dedicated_memory vs. the memory reported in device manager, it due to the driver or the GPU hardware reserving part of the dedicated video memory which is unavailable for general graphics processing and is outside the scope of the algorithm used by Windows for calculating dedicated memory. This support article describes the issue in detail.

    Regarding the query on double precision, C++ AMP categorizes double support as “supports_limited_double_precision” and “supports_double_precision”. The details of the basis of categorization can be found in this blog post. I would expect your card to report "supports_limited_double_precision” as true and report full double precision only when using a WDDM 1.2 driver (on Windows 8).

    -Amit


    Amit K Agarwal


    • Edited by Amit K AgarwalModerator Thursday, September 13, 2012 2:44 AM
    • Proposed as answer by Zhu, Weirong Thursday, September 13, 2012 4:00 AM
    • Marked as answer by LKeene Wednesday, September 19, 2012 5:13 PM
    Thursday, September 13, 2012 2:43 AM
    Moderator
  • Thanks for the links Amit.

    Regarding the full/partial double precision issue, after reading the link you posted this seems to be a function of the Windows Display Driver model. If I understand the issue correctly, only Windows 8 is implementing WDDM 1.2 and therefore full double-rpecision support (if the GPU supports it). Does this mean that if I have a current Tesla card installed in a Windows 7 box I don't have access to double-precision division, FMA, casting int to double, etc? If so, can Windows 7 machines be upgraded from WDDM 1.1 to WDDM 1.2?

    Thursday, September 13, 2012 3:16 PM
  • Unfortunately, WDDM 1.2 support is currently limited to Windows 8 and Windows Server 2012 and not supported on Windows 7. Hence the extended double precision features (double division, FMA, etc.) cannot be availed on Windows 7.

    -Amit


    Amit K Agarwal

    Thursday, September 13, 2012 5:03 PM
    Moderator
  • Hopefully, the responses have answered your questions.

    Amit K Agarwal

    Tuesday, September 18, 2012 7:27 PM
    Moderator