Selecting the correct GPU for the job


#1

Hi All,

Again I find myself turning to the community for advice, as it seems to always be offered with genuine enthusiasm. I’m working on an installation that will make use of a 4-5 large displays to create a single high res display videowall. I’m currently doing research in order to spec the hardware, and since I haven’t used Cinder for an application like this before, it seems wise to see if anyone has any sage advice. I’ve been looking at the Nvidia QuadroSync cards as I’ve been led to believe it’ll be necessary to use multiple cards in order to display the app on a single desktop on such a large resolution display. I guess my question relates to whether or not I’ll run into any issues with Cinder’s GL implementation using hardware like this, as I don’t have experience working with it as yet. I’ll be working on windows, so I’ll make another assumption that it may be beneficial to look into using CUDA. Again, any advice or warnings would be hugely appreciated.

Craig


#2

Hi,

when using GPU’s from the Quadro family, setup of the displays will be done using NVIDIA’s Mosaic control panel. No need to change your application. Same for AMD EyeFinity GPU’s.

From a software point of view, I don’t see why you’d be forced to use CUDA in this case. While compute shaders would allow you to use fancy techniques like this, there is no need to use such a technique just because you’re running on multiple high resolution displays. In fact, I’ve found that rendering directly to the main buffer, instead of to an offscreen Fbo, is often faster in a multi-display setup. Just don’t use the convenience methods (like gl::drawSphere(), gl::drawSolidRect(), etc.) but always use your own Vbo's and reduce the number of draw calls as much as you can by using instancing. This will help maintaining a high frame rate (even in single-display setups). Also try to reduce overdraw, make sure to use culling where applicable, etc. You’ll find that Quadro cards have plenty of power and bandwidth to run your application in high resolution.

-Paul


#3

I just finished a indoor installation with 9 screens using a Quadro P5000(or 6000) card. so might be a little helpful here…

Cinder runs just fine on the P5000 card. Didn’t spot any issue. And as Paul said Mosaic is the tool you are looking for to get multiple screen gathered.

And if your app is too heavy to run on a single card you could try nvidia SLI bridges. But be sure to turn off the driver auto-update as it may reset the bridge back to default.

btw, I had to choose a Quadro card because the client’s hardware supplier dont want to go with commercial products, otherwise I would suggest 1080/1070 for a lot less money.

-seph


#4

Hey Paul,

As always thanks for the thorough response. At this stage I don’t think I’ll be needing to use any advanced rendering techniques, so won’t bother with CUDA unless for some reason it becomes necessary (I’m used to working on OSX ).


#5

Hey @seph,

I’m in the same position RE client suppliers and hardware, added to the fact the videowall supplier recommended the quadrosync cards. I’ve done some research on the SLI bridges, thanks for the tip on the update!


#6

We’ve had success with both AMD FirePros and Nvidia Quadros. If you’re looking to doing any video, I highly recommend Nvidia over AMD. Like folks have said, stitching displays together is pretty straightforward using AMD’s EyeFinity or Nvidia’s Mosaic and to your app it will just seem like one large display.

A few cards we’ve used:

  • 2 x Nvidia Quadro M6000 with 21 displays in 3x7 portrait (plus Planar Quad Controllers to split each 4k output into 4x1080p)
  • AMD FirePro W9100 for 6 displays in 3x2 landscape
  • AMD FirePro W7100 for 4 displays 1x4 landscape
  • 2 x Nvidia Quadro M4000 + Quadro Sync Card for 5 displays in 1x5 landscape

A few question you might want to think about:

  • Are you running your 5 screens in portrait or landscape?
  • Are they 1080p or 4K? Depending on the GPU you may have issues with max resolutions if your have a 5 x 1920 wide output.
  • Do you have a plan yet for connecting your displays to your PC? Most GPUs max out at 4 ports and the 6 port AMD W9100 will likely be overkill.

There are ways to split your signals from a single DP port to achieve that though (we’ve only done it with video processors, but I’m sure a simple DP splitter or similar should do the trick). If you use two Nvidia Quadro cards you can use a third Quadro sync card to combine them: http://www.nvidia.com/object/quadro-sync.html


#7

@benjaminbojko thanks for taking the time to offer such an insightful response. Perhaps I can offer a little more detail to help clarify things. At present, the setup is 6 x portrait 1080p displays that’ll create a single 6480x1920 app window.

The proposed PC setup at present is 2 x Nvidia Quadro P5000 and Quadro Sync card. Each P5000 card has 4 display ports. This is naturally on the pricey side, and I’m wondering if it’s overkill given what I need. There isn’t going to be any heavy OpenGL stuff, likely no 3D at all, think more along the lines of something that resembles CSS animations or a dynamic dataviz.


#8

Hello,
In GTX nvidia cards :

  • gtx1080 you can plug 3 displaysports 4k 60 hz.
    12 x 1080p 60 hz
    Some screens can distribute the 4k signal to 3 other 1080p60hz screens.
  • gtx1070 you can plug 2 displayports 4k 60 hz.
    8 x 1080p 60 hz

#9

I have one setup running for 2 years non stop with 2x AMD W7000. (8 screen setup)

Currently where a building a 6 screen setup.
While being in development we are using a HD7870 Eyefinity 6 which is actually running just fine.
No heave 3D here most of the content is pre-rendered textures which we are moving in 3D space.
So I decided to keep the card for the final setup. It has been stable for more than weeks and is a very cheap (300 euro) alternative to these high-end workstation cards.
The future will tell if this was a wise decision.


#10

Thanks Colin. I’ve done a similar multiscreen setup using a Mac Pro and didn’t have a great experience with the active signal splitters. I’m also wondering whether the GTX1080 can handle the load at that resolution?