locked
Detecting a real GPU accelerator on "build" Samsung slate RRS feed

  • Question

  • Hello,

    I got a Samsung slate at the build conference a couple of weeks ago and, after attending Daniel Moths excellent (if somewhat fast for a newbie to AMP) presentation on AMP, decided it was time to play.

    No problem getting the AMP examples to give the same results as regular CPU code but with any significant number of calculations it was running many times slower than the CPU.

    A quick check showed the default accelerator was the debug one and when I enumerated all the available accelerators (using the get_accelerators() method) it seems I am not getting any real GPU's, just emulated ones.

    Running the same code on a Toshiba Satellite P500 i7 with a GeForce GT 330M gives the same result.

    dxdiag shows both machines having DirectX 11 installed.

    Is it possible that the build slate is running DirectX 10 and can't do AMP or am I doing something wrong?

    Any help is greatly appreciated (the values of the three accelerators found are below

    Kind Regards

    Mark

    description:                 Microsoft Basic Render Driver
    is_debug:                    0
    is_emulated:               1
    dedicated_memory:     0
    device_path:               direct3d\warp
    has_display:                0
    version:                      11.0


    description:                 Software Adapter
    is_debug:                    0
    is_emulated:               1
    dedicated_memory:     1024
    device_path:               direct3d\ref
    has_display:               1
    version:                     11.0


    description:               CPU accelerator
    is_debug:                  0
    is_emulated:             1
    dedicated_memory:   4096456
    device_path:             cpu
    has_display:              0
    version:                    0.1

     

    Monday, October 10, 2011 2:05 AM

Answers

  • Hi,

    Regarding to GeForce GT 330M, according to Nvidia: it only supports DX 10.  Please see the discussion here.

    What's the model of the graphics card in the Samsung slate? I heard it's integrated Intel graphics. It's probably not a DX 11 card either.

     

    Regards,

    Weirong

    • Marked as answer by PTRMark Monday, October 10, 2011 2:15 PM
    Monday, October 10, 2011 3:49 AM

All replies

  • Hi,

    Regarding to GeForce GT 330M, according to Nvidia: it only supports DX 10.  Please see the discussion here.

    What's the model of the graphics card in the Samsung slate? I heard it's integrated Intel graphics. It's probably not a DX 11 card either.

     

    Regards,

    Weirong

    • Marked as answer by PTRMark Monday, October 10, 2011 2:15 PM
    Monday, October 10, 2011 3:49 AM
  • Hi Weirong,

    Thanks for the reply. On the Samsung slate Device Manager starts it is a:

    "Intel(R) HD Graphics Family (Microsoft Corporation - WDDM 1.2)"

    I also checked out two more machine I have, a Lenovo T61p (Quadro FX 570M) and a Gateway (Intel(R) 4 Series Express) and they also show DirectX11 with DDI Version at 10

    So, sadly, it appears that I need to mark your reply as an answer.

    Can I provide some feedback here?

    I understand that DX10 has limitations compared to DX11 but if you could give AMP the capability to function with a machine running DX11 with the chip running DX10 ("restrict (directx10)"?) even if it meant only very basic capabilities were available - that would be wonderful. AMP is great technology and moving forward I am sure it will become ubiquitous but the fact that it cannot even run on a "hot off the presses" device like the Samsung slate given out by Microsoft to show off Windows 8 means it is not ready for prime time yet.

    Mark

     

    Monday, October 10, 2011 2:15 PM
  • Thanks Mark for the suggestion, we will consider that.

    --Yossi


    Yossi Levanoni, Principal Architect Parallel Computing Platform, Microsoft
    Monday, October 10, 2011 6:37 PM
  • Yossi,

    I greatly appreciate the fact that you and the team listen to comments here (and that the response to questions is better than some paid support I have!)

    An addition to my last request - and I strongly suspect you are aware of this - if DX10 support cannot be made available in the first release then the value drops significantly as the next generation of Intel integrated graphics accelerators (IvyBridge) will support DX11

    Mark

    Wednesday, October 12, 2011 2:58 PM
  • Hi Mark

    I have a comment and a question

    1. FYI, even though currently C++ AMP supports DX11 and higher, there is a CPU fallback mechanism through the WARP accelerator. WARP should not be a primary target, but if you know that most of your customers will have DX11 cards and you also want to cater for the minority cheaply, that might be a solution.
    2. Sorry, what do you mean by "the value drops significantly as the next generation of Intel integrated graphics accelerators (IvyBridge) will support DX11"? I would have expected the opposite conclusion: even the Intel GPUs are getting to DX11 so soon DX11 hardware will truly be ubiquitous, even on low performance machines like tablets. Do you mind clarifying please so we can take all viewpoints in consideration during our planning?

    Again, thank you for your feedback.

    Cheers

    Daniel


    http://www.danielmoth.com/Blog/
    Saturday, October 15, 2011 4:13 AM
  • I think he means that once Ivy Bridge releases there will be more DX11 laptops.  Thus, the value of supporting DX10 drops, as more people have access to DX11.

    Personally, I'm running a desktop i7 with HD3000 graphics which only supports DX10.  I'll probably get an Ivy Bridge Win8 laptop/tablet a year from now.

     

    Saturday, October 15, 2011 10:05 PM
  • Hello Daniel,

    Re: 1

    Understood - although in a simple test case I was impressed with how well C++ AMP targeting WARP preformed compared to a single threaded piece of code doing the same thing (6x faster on an i7 machine) - I'm guessing that is down to all the work your team did using SSE & multiple cores

    Re: 2

    Andrew got my point. I have 5 laptops and a slate at home (don't ask) - more if you count my wife's -  plus a couple of desktops and none had an AMP device although all have DirectX11. I went out and bought a $50 6450 card for one of the desktops and have been playing with AMP using that (and it is excellent - really, Microsoft is to be commended for not just great technology but for being so forward looking) however my first real use is on an instrument that uses an embedded motherboard that has integrated Intel GPU and no option to plug in a new GPU. Given there are already 100+ in the field the cost and disruption of validating and installing a DirectX capable motherboard means it won't happen. My option seems to be to go back to Directcompute but while it is reasonable technology and certainly an option I feel C++ AMP blows it away in terms of ease of development and, arguably more importantly, ease of debugging.

    I hope this answers your question. Thanks for giving us the chance to have our voices heard, please keep your blog posts coming and I'm looking forward to seeing the next release - regardless of whether it has all the thing I would like

    Best Regards

    Mark

    Sunday, October 16, 2011 2:30 PM
  • Ah cool, we were on the same page, sorry for misunderstanding. Please keep the feedback/questions coming, we love it all - thank you.
    http://www.danielmoth.com/Blog/
    Sunday, October 16, 2011 11:20 PM