SLI, Crossfire and VRAM

Video cards, monitors, CPUs and the like
User avatar
Downtown1
Insiders
Insiders
Posts: 647
Joined: 22 Aug 2007, 19:00

Re: The 4GB 5970 is coming: Asus ROG 5970

Post by Downtown1 »

Now, I am not an expert on CF/SLI but let's consider two of the common rendering methods, either alternate frame rendering (each GPU renders the other frame), scissor frame rendering (each GPU renders some part of a screen, separated horizontally). In both cases it's quite apparent that you don't even need to have the entire frame buffer of the other video card in memory. In AFR you just need the frame every other frame, in SFR you'd only need the part of the frame that you are actually rendering.

So it's definitely not obvious that you are limited to the memory of one GPU when you have two GPUs in CF. Now what is obvious is that I'd like to be right here and enjoy the 2GB that my video card claims to have rather than 1GB. If there isn't some definitive source we can look that will state how the memory is used, isn't there some benchmarks we can do to empirically test the # of RAM in CF vs non-CF? What if we knew a game that for sure used more than 1 GB of VRAM but less than 2, we could run it through a 1GB and a 2GB card (the 2GB should have better performance, using this as a reference) we then run it through a 2GB vs 4GB and the performance should be identical.


That said, I totally agree with your overall point. I'm very excited to get to 2GB per GPU. Taking your example, (5700x1200) that makes for one HUGE frame buffer. Since one has to have at least a front and a back buffer that makes for ((5700x1200x32) (WxHxBpp) = 218,880,000 x 2 (front/back buffer) = 437,760,000. WOW! Now mind you I think they use lossless compression for the front and back buffer, but still; in terms of raw memory size requirements that's about 438MB of 1GB for just the frame buffers. If you triple buffer that brings the figure up to 657MB!

Sorry, I just did this math a few posts ago... did you really miss it? You forgot to divide by 8 so all the #s look a lot bigger when they're actually fairly small.
Truckchase!
Posts: 60
Joined: 17 Jan 2010, 06:04

Re: The 4GB 5970 is coming: Asus ROG 5970

Post by Truckchase! »




That said, I totally agree with your overall point. I'm very excited to get to 2GB per GPU. Taking your example, (5700x1200) that makes for one HUGE frame buffer. Since one has to have at least a front and a back buffer that makes for ((5700x1200x32) (WxHxBpp) = 218,880,000 x 2 (front/back buffer) = 437,760,000. WOW! Now mind you I think they use lossless compression for the front and back buffer, but still; in terms of raw memory size requirements that's about 438MB of 1GB for just the frame buffers. If you triple buffer that brings the figure up to 657MB!

Sorry, I just did this math a few posts ago... did you really miss it? You forgot to divide by 8 so all the #s look a lot bigger when they're actually fairly small.


Yup; you're right. I'm missing quite a bit lately; too many hours @ work. Sorry about that.
Truckchase!
Posts: 60
Joined: 17 Jan 2010, 06:04

Re: The 4GB 5970 is coming: Asus ROG 5970

Post by Truckchase! »

Now, I am not an expert on CF/SLI but let's consider two of the common rendering methods, either alternate frame rendering (each GPU renders the other frame), scissor frame rendering (each GPU renders some part of a screen, separated horizontally). In both cases it's quite apparent that you don't even need to have the entire frame buffer of the other video card in memory. In AFR you just need the frame every other frame, in SFR you'd only need the part of the frame that you are actually rendering.


Separate post to highlight my mistake before..

I'd imagine that in an AFR scenario each gpu would still maintain a two buffers so that they aren't sitting idle when they complete the frame they are currently responsible for. Assuming that, one would wonder where the active front buffer "exists", and how it's shifted.

I don't know if that's really the case though; I've read (please confirm) that one can only enable triple buffering with one or three GPUs, not two. Why would that be? I have a hunch that the answer to that may lead to at least more info about the frame buffer question...

This may contain some interesting info...

http://www.google.com/url?sa=t&source=web&ct=res&cd=1&ved=0CAYQFjAA&url=http%3A%2F%2Fdeveloper.amd.com%2Fmedia%2Fgpu_assets%2FProgramming_for_CrossFire.pdf&ei=5OmKS8XoI6XcM8j51KUB&usg=AFQjCNFrFaZY5N7TwwLsmzi_nwril-CIEw

From that document:

In some cases it might be desirable to detect if an ATI graphics system is capable of working in one of
the CrossFire™ modes. For example, when developing an AFR-friendly application, one might want to
allocate twice as many render targets to remove inter-frame dependency between cards as was described
in one of the earlier sections. The latest version of the RADEON™ SDK ships with the DLL that
provides CrossFire™ detection functionality. This library is located in “ToolsCrossFire Detect” folder
of the SDK and may be freely redistributed as a part of your application


Here's an NV equiv: http://http.download.nvidia.com/developer/presentations/2005/GDC/OpenGL_Day/OpenGL_SLI.pdf

Interesting... I don't have time to go through them now though. Please note that the docs are old so it's very possible the methodology may have changed since the they were created.
User avatar
Anprionsa
Posts: 567
Joined: 22 Oct 2009, 21:34

Re: The 4GB 5970 is coming: Asus ROG 5970

Post by Anprionsa »

Perhaps this thread should be renamed to inform others about what this thread has really become.

I came here with the intention of reading about the Asus ROG, but found this fascinating information.
Professional... well I'll figure that out.



"I sense something, a presence I've not felt since......."
User avatar
skipclarke
Founder
Founder
Posts: 7358
Joined: 13 Oct 2003, 05:00

Re: The 4GB 5970 is coming: Asus ROG 5970

Post by skipclarke »

Perhaps this thread should be renamed to inform others about what this thread has really become.

I came here with the intention of reading about the Asus ROG, but found this fascinating information.


I'll split it off in a bit when I can devote more than a couple of minutes to finding the right split point.
User avatar
skipclarke
Founder
Founder
Posts: 7358
Joined: 13 Oct 2003, 05:00

Re: The 4GB 5970 is coming: Asus ROG 5970

Post by skipclarke »

So it's definitely not obvious that you are limited to the memory of one GPU when you have two GPUs in CF. Now what is obvious is that I'd like to be right here and enjoy the 2GB that my video card claims to have rather than 1GB. If there isn't some definitive source we can look that will state how the memory is used, isn't there some benchmarks we can do to empirically test the # of RAM in CF vs non-CF?

You are enjoying the 2GB. Each of your 2 GPUs is each enjoying 1GB separately. Thus, you are getting use of the full 2GB. I don't have time to do any more Googling, browsing, or reading of Wikipedia on this matter. Too many other things to do. Each GPU has to have its own VRAM to function, and the amounts simply don't stack. That has always been the case since the very first 2x12MB Voodoo SLI configuration from 3dfx. As far as definitive source, I will ask Dave Baumann to come in and respond. That is about as definitive as we can get.
User avatar
Downtown1
Insiders
Insiders
Posts: 647
Joined: 22 Aug 2007, 19:00

Re: SLI, Crossfire and VRAM

Post by Downtown1 »

That sounds about right, but I was getting the impression earlier people were saying each card was mirroring the RAM thus only letting you use 1GB.

If each GPU is using 1GB, that's 2GB total, unless the work split is very skewed (eg 90/10 instead of 50/50), why would this be any worse than a single card with 2GB of RAM?
User avatar
Paradigm Shifter
Editors
Editors
Posts: 5706
Joined: 14 Oct 2003, 13:52

Re: SLI, Crossfire and VRAM

Post by Paradigm Shifter »

Um... each card does use 1GB, but the cards can't "share" VRAM - texture data is loaded into both cards, so if you've got a game that is feeding the GPUs with 900MB of texture data (like GTA4 does... or worse) then that 900MB becomes 1800MB inside the "2GB" that the card possesses as it's duplicated for each GPU.

The GPUs don't have access to a 'shared pool' of VRAM - the GPUs are to all intents and purposes individual cards but on the same PCB with a CrossFire bridge between them.
whismerhill
Posts: 760
Joined: 28 Jun 2009, 22:17

Re: SLI, Crossfire and VRAM

Post by whismerhill »

I'll add that the reason why graphic cards working in parallel (SLI or CF) can't share VRAM is because of latency and bandwith issues.
whichever way you look at it, it's simply "too long" to get data on memory banks which are not right next to the GPU ...

this discussion is why I would like the industry to forbid the usage of naming schemes like : "5970 4GB"
when in reality all you get is : 5970 2x2GB .. for all practical purposes
Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests