Unable to access second GPU accelerator with C++ AMP RRS feed

  • Question

  • My C++ AMP enabled application is working perfectly with a single GPU accelerator - an AMD FirePro W9100.  

    I now wish to get the same application to work with multiple GPU accelerators - a second AMD FirePro W9100.  This should be possible, as there are examples in the book "C++ AMP: Acclerated Massive Parallelism with Microsoft Visual C++" by Kate Gregory and Ade Miller.

    However, only one is listed when iterating through the list of accelerators returned from the concurrency::get_all() method. Even when I run the Microsoft supplied "verifyampdevices.exe" utility, only one of the two accelerators is found:

    Found 2 accelerator device(s) that are compatible with C++ AMP: 

    1: AMD FirePro W9100 (FireGL V), has_display=true, is_emulated=false 

    2: Microsoft Basic Render Driver, has_display=false, is_emulated=true

    Hit enter to exit.

    This in spite of the fact that two AMD FirePro W9100 accelerators are installed properly in the system, according to Device Manager.

    The computer is currently running Windows 8.1 Enterprise (64-bit) version 6.3.9600 build 9600, and the application is being developed in Visual Studio Professional version 12.0.40629.00 Update 5.

    Is there some registry value or configuration that must be changed in order to get the two graphics accelerators to be accessible within C++ AMP?


    Tuesday, January 26, 2016 9:59 PM

All replies

  • Interestingly, I have been able to successfully access multiple GPUs only when the video cards in question use different drivers.  For example, the following combinations have worked:

    • AMD FirePro W9100 paired with an AMD Radeon R9 270
    • AMD FirePro W9100 paired with an NVIDIA GeForce GTX 750 Ti
    • AMD Radeon R9 270 paired with an NVIDA GeForce GTX 750 Ti

    Yet when a matched pair is used, C++ AMP is only able to detect the video card with the monitor attached.  This in spite of the fact that both video cards are listed in Device Manager (as working properly), listed in the Visual Studio system information listing, and the AMD FirePro Configuration Utility (in the case of the pair of W9100).

    My best guess is that because the second card shares the same video driver it is not being "registered" in such a was that it becomes visible to the C++ AMP library.  All attempts to get this to work (disabling/enabling the second display adapter in device manager, removing and deleting the second display adapter in device manager, installing video drivers using AMD installation utility, and installing video drivers manually through device manager) have failed.

    Any help would be appreciated.

    Wednesday, January 27, 2016 5:33 PM
  • I had the same problem with dual D*00 GPUs in the Mac Pro. Disabling Crossfire fixed it in that case.

    Good luck!


    Thursday, January 28, 2016 10:01 AM
  • It's always the simple things that get you.  I had assumed, obviously incorrectly, that Crossfire was disabled by default.

    Disabling Crossfire through the AMD configuration tool worked perfectly.


    Thursday, January 28, 2016 2:31 PM