• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Why can't Crossfire or SLI use the sum of VRAM from all GPUs?

Status
Not open for further replies.
Joined
Dec 2, 2008
Messages
368 (0.06/day)
Location
Over There
System Name Games for Breakfast
Processor i7 2600k @ 4.3ghz
Motherboard ASRrock Z77 extreme6
Cooling Cooler Master TX3 Dual Fan
Memory 16GB DDR3 - RipjawsX 1600 1.5v @ 8-8-8-22 1T
Video Card(s) Asus AMD R9 290 4GB Reference PCB
Storage Samsung F3 Spinpoint 1TB
Display(s) HP 22vx IPS LED
Case Cooler Master Elite 331
Audio Device(s) Onboard
Power Supply Corsair TX650 V1
Keyboard CM Storm Devastator
Software Windows 10 64bit
Is there a technical or technological impediment to this?

Just curious, as i'm currently on the market for a used HD 6870 to crossfire, and I'm a total beginner when it comes to multi-GPU.
 
SLI and CrossfireX usually use AFR (alternate frame rendering) which makes your gpus draw frames in turns, let's say one draws all the odd frames and the other all the even frames.

To be able to do that you must have a copy of everything readily available to the GPUs in questions, for a GPU to access VRAM that does not directly belong to itself it would be very hard to implement software wise and ESPECIALLY bandwidth wise, you would need a very very fast link to provide textures that are only available on another GPU VRAM on that system.
 
Makes perfect sense.

Thanks! :)
 
Is there a technical or technological impediment to this?

Just curious, as I'm currently on the market for a used HD 6870 to crossfire, and I'm a total beginner when it comes to multi-GPU.

Because Crossfire / SLI isn't an efficient way of using two cards simultaneously.

From what I understand, the two cards copy or mirror the vram so they can synchronise with one another.

There is a simplified explanation. If calculation that are being rendered in GPU2, the variable needs to passed back to GPU1 in the same video memory location. If both video cards have independent memory management there will be situations where it will accidentally overwrite the data when exchanging data.

A solution could be for GPU2 to store data in the main memory, then GPU1 can fetch the data from the main memory. GPU2 would need to know the exact location to extract the data, but this way of buffering is inefficient and would cause delays in fetching and potentially reducing the frame rate, thus defeating the purpose of CF or SLI.

Unlike physical dual GPU cards i.e. 4870X2 which have two GPUs on the PCB, they are more efficient in respect that there would be schedulers and reserve buffer memory to store and synchronise data so the data does corrupt or overwrite one another.
 
Last edited:
SLI and CrossfireX usually use AFR (alternate frame rendering) which makes your gpus draw frames in turns, let's say one draws all the odd frames and the other all the even frames.

To be able to do that you must have a copy of everything readily available to the GPUs in questions, for a GPU to access VRAM that does not directly belong to itself it would be very hard to implement software wise and ESPECIALLY bandwidth wise, you would need a very very fast link to provide textures that are only available on another GPU VRAM on that system.

Because Crossfire / SLI isn't an efficient way of using two cards simultaneously.

From what I understand, the two cards copy or mirror the vram so they can synchronise with one another.

There is a simplified explanation. If calculation that are being rendered in GPU2, the variable needs to passed back to GPU1 in the same video memory location. If both video cards have independent memory management there will be situations where it will accidentally overwrite the data when exchanging data.

Unlike physical dual GPU cards i.e. 4870X2 which have two GPUs on the PCB, they are more efficient in respect that there would be schedulers and reserve buffer memory to store and synchronise data so the data does corrupt or overwrite one another.

Did I hear an echo? :)

Also the X2 chips don't work that way, memory is duplicated for the second gpu and they do not communicate with each-other as you described. In fact X2 cards tend to use a PCI-E bridge and physically isn't much different than using two cards with the CFX or SLI bridge. As far as the computer is concerned, they are two different GPUs with their own set of memory dedicated to each GPU and they're essentially that. I call shenanigans.
 
I didn't know that with the X2s, I always thought they were more efficient in that respect. But we are all in consensus about the CF/SLI issues I guess.
 
I didn't know that with the X2s, I always thought they were more efficient in that respect. But we are all in consensus about the CF/SLI issues I guess.

From my experience, a single GPU card is always more efficient than a dual gpu one (or 2 cards in CF or SLi). Tried it both with AMD and Nvidia to reach this conclusion. Driver support is also always better for single cards as well.

It's always better to spend a couple of bucks more for a great single gpu card than go SLi or CF.
 
It's always better to spend a couple of bucks more for a great single gpu card than go SLi or CF.

I don't know about that, I already had one 6870 and adding a second was quite the boost for the price. Granted I don't mind waiting a little bit for stability issues to get smoothed out and I don't tend to play the newest of games the moment they come out.
 
From my experience, a single GPU card is always more efficient than a dual gpu one (or 2 cards in CF or SLi). Tried it both with AMD and Nvidia to reach this conclusion. Driver support is also always better for single cards as well.

It's always better to spend a couple of bucks more for a great single gpu card than go SLi or CF.

I meant dual GPU on a single PCB is more efficent than CF / SLI.

But yes, I agree a powerful single GPU is more efficient than two average ones in CF, mostly due to software limitations and drivers.


I don't know about that, I already had one 6870 and adding a second was quite the boost for the price. Granted I don't mind waiting a little bit for stability issues to get smoothed out and I don't tend to play the newest of games the moment they come out.

I think Black Panther meant spend more on a premium GPU the first time round, so you don't have to CF later (unless you choose to later). When it comes to prolonging the life of an existing GPU, CF/SLI usually the way forward.
 
Last edited:
From my experience, a single GPU card is always more efficient than a dual gpu one (or 2 cards in CF or SLi). Tried it both with AMD and Nvidia to reach this conclusion. Driver support is also always better for single cards as well.

It's always better to spend a couple of bucks more for a great single gpu card than go SLi or CF.

I agree with your statement, adding more than one GPU to a system is going to hit the overall "fluidity" of the gaming experience, I can tell that games are more responsive when not on SLI/CFX and with more than 1 GPU you can percieve stuttering at framerates that shouldn't let you do so.

I'm currently on a multi GPU system and my next purchase will probably be the fastest GPU around so I can call it a day with driver issues etc.

To anyone: Please don't say it is AMD/ATI related, I've had a 480 SLI and that wasn't any better.
 
Afaik afr does inadvertently utilise the gfx memory seperately, in that their frame buffers should be slightly out of sync, meaning fractionaly different data in flow on the same part
 
Is there a technical or technological impediment to this?

Just curious, as i'm currently on the market for a used HD 6870 to crossfire, and I'm a total beginner when it comes to multi-GPU.

Yup, it would be cool if the GTX 690 could use its 4GB RAM as a full 4GB card instead of a 2GB one, duplicated. Unfortunately, it's not the case and I'd like to give a slightly alternative explanation for this.

The root problem is that the GPUs aren't designed to gang together directly into one "super GPU". If they did, they'd have a wide, full bandwidth interface to directly connect to each other and would be physically sitting next to each other on the circuit board. In such a scenario, they would become one large GPU with literally double the rendering power and be able to use the full amount of RAM, rather than halving it like we see now. Benchmarks would then show a full 2x improvement in rendering speed under all situations (CPU bottlenecks not withstanding).

I'm sure that AMD and NVIDIA have built prototypes of something like this, but for some reason haven't made them commercially. Not sure why really, as dual GPUs would then work awesomely well, offering doubled rendering power without any of the inherent drawbacks of current designs.

Of course, GPUs physically sitting in different cards have no chance of doing this and maybe that's why they haven't done this.
 
Yup, it would be cool if the GTX 690 could use its 4GB RAM as a full 4GB card instead of a 2GB one, duplicated. Unfortunately, it's not the case and I'd like to give a slightly alternative explanation for this.

The root problem is that the GPUs aren't designed to gang together directly into one "super GPU". If they did, they'd have a wide, full bandwidth interface to directly connect to each other and would be physically sitting next to each other on the circuit board. In such a scenario, they would become one large GPU with literally double the rendering power and be able to use the full amount of RAM, rather than halving it like we see now. Benchmarks would then show a full 2x improvement in rendering speed under all situations (CPU bottlenecks not withstanding).

I'm sure that AMD and NVIDIA have built prototypes of something like this, but for some reason haven't made them commercially. Not sure why really, as dual GPUs would then work awesomely well, offering doubled rendering power without any of the inherent drawbacks of current designs.

Of course, GPUs physically sitting in different cards have no chance of doing this and maybe that's why they haven't done this.

From what i've seen, GPUs such as the HD 6000 series and GTX 500 series they scale almost 100% with 2 cards.

Is this what you mean?

Should I go forward with the Hd 6870 crossfire (for the money, I get AMAZING performance) or just sell and go for a faster GPU? I would only have money for a HD 7870... which is much slower then Hd 6870 CFX.
 
Its a lot simpler actually. GPU A can't access the VRAM on card B fast enough. It would simply cripple memory performance and thus destroy performance.
 
Its a lot simpler actually. GPU A can't access the VRAM on card B fast enough. It would simply cripple memory performance and thus destroy performance.

^ this.


as it stands, they just release cards with more Vram than they need, so that theres still leftover room for crossfire and SLI to use.


short of a new version of directX or oGL (and corresponding hardware) to be designed from the ground up to scale better in multi GPU, it wont happen.
 
Why can't you accept that it wont
 
Why can't you accept that it wont

He asked a legit question and to be honest your answer is a bit rude and adds nothing to the thread, would you like if people answered straight like that to your questions? Please don't take this as a personal attack, I just wanted to let you know this is a bit rude.
 
Why can't you accept that it wont

The OP didn't say he doesn't accept it. If you read his post, he specified that he was "just curious" and hence only wanted to expand his knowledge.
 
Should I go forward with the Hd 6870 crossfire (for the money, I get AMAZING performance) or just sell and go for a faster GPU? I would only have money for a HD 7870... which is much slower then Hd 6870 CFX.

Yes,

Pick up a second 6850 or 6870 used on Ebay. They go for $150 used.

The 7850 would get smoked against the 6870 CF on a bad day.

The 7870 would be as fast or almost as fast as the 6870 CF, but ultimately its still slower and it will cost you $350.

So you've got to ask yourself spend $150 or $350 for relatively the same performance or slightly slower performance.

Now if you can sell your current 6870 for $150, you'd still have to fork out an additional $200 minimum from your own pocket for the same to slower peformance.


PS. I swear we answered your question 2 months ago. Appears you don't respect our recommendations :ohwell:
http://www.techpowerup.com/forums/showthread.php?t=162491
 
The OP didn't say he doesn't accept it. If you read his post, he specified that he was "just curious" and hence only wanted to expand his knowledge.

Believe me the OP doesn't accept it because he has created numerous threads asking about upgrading his 6870 to Crossfire or going HD 78x0.

This thread is just a cover story so he can justify not going with the advice he was previously given.

http://www.techpowerup.com/forums/showthread.php?t=162491

http://www.techpowerup.com/forums/showthread.php?t=165208
 
The reviews I've seen on 6870 CFX is closer to the performance of the 7950, rather than the 7870. Also keep in mind that the 6870 will give you a 10-13% overclock on air without too much of a problem with a slightly altered fan profile. Both of mine are perfectly happy running at 1Ghz core. I've run into issues here and there, but nothing too major with CFX, but if you're one of those people who likes playing new games the day it comes out CFX might be a little glitchy, but all in all, it is worth the price.
 
Believe me the OP doesn't accept it because he has created numerous threads asking about upgrading his 6870 to Crossfire or going HD 78x0.

This thread is just a cover story so he can justify not going with the advice he was previously given.

http://www.techpowerup.com/forums/showthread.php?t=162491

http://www.techpowerup.com/forums/showthread.php?t=165208

What? :confused:

Why would I need a cover story? It's true that I have been considering going CFX or getting a new single GPU (in this case the HD 7870).

I still haven't made up my mind, but NOW I am more inclined towards HD 6870 CFX than a single HD 7870.

And as such I HAVE QUESTIONS REGARDING CROSSFIRE.

What is your problem anyway?
 
And as such I HAVE QUESTIONS REGARDING CROSSFIRE.

What is your problem anyway?

Then use the same thread and stop asking the same question. I think people have told you the same thing 3 times now. We can't buy the card for you, it is up to you and we've given you all the information we can. I'm not sure if TPU is the place for you to justify the upgrade to yourself, but that is just my opinion. If you're really that hesitant about it, just don't upgrade and wait for the next generation of GPUs.
 
I'm a sucker for new tech, so have run Crossfire and/or SLi since both were launched. Be that as it may, I still tend to recommend that users buy the best single GPU they can, if running a single monitor. If only I could be happy myself with jsut one monitor...but I cannot, so I'll struggle with multi-GPU issues anyway.


That said, memory across GPUs can be shared, but the cost of doing so is quite high. This cost can be "covered" by other operations, but wit hgraphics and games, becuase the workload is so varied, covering up the issues from latency becomes something that just isn't worth doing.

Video memory, for current cards, is more than adequate, unless doing some GPGPU computing. Sharing memory would pose no benefit at all. It's technically possible, but the gains offered do not justify the work on the driver needed.
 
The information in this thread has more realistic facts than flaws, so that's why i prefer single GPUs, that's why i hope never to be in the situation to CF/SLI my GPUs. Id say save up money for a flagship single GPU from whichever camp be it Radeon or Geforce, i personally on my final touches in getting a GTX680 or HD7970 only time will tell cash is not the limiting factor for me but rather my problem is getting them locally here in Kenya or getting one from outside the country which is not easy due to Import Duty or I just have to wait for someone i know who can bring me one then cash on the spot payment.
 
Status
Not open for further replies.
Back
Top