• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

Crossfire Eyefinity = shared framebuffer?

cadaveca

My name is Dave
Joined
Apr 10, 2006
Messages
17,244 (2.47/day)
Sideport = shared framebuffer, confirmed for those not aware of how integrated gpus work? :laugh:

Discuss....:laugh:
 
sideport has nothing to do with framebuffer.. sideport is like a second pci-e interface between the two gpus. and there is no sideport on cypress, only rv770, only on hd 4870 x2. and afaik it was never enabled.
 
Are you sure, W1zz? Let me say first, ever since first talking to you when we worked on systool and the Abit boards, I highly value your opinion..I'm not questioning YOU...just the info given into the public domain. I don't do "marketing spin". So please don't take my comments personally. As you know, I can get carried away sometimes.

What's sideport for on RS780? And all other current ATI IGP's? Why would they name two totally different technologies exactly the same? And what is sideport, EXACTLY, on IGPs? Is it not the direct interface to system memory? And how would this not work the same to access memory of another gpu?

"is like" says "it isn't like" too...

It was on 4870x2 for development of Eyefinity, IMHO. It could be enabled via driver, but not in public releases, due to "No performance boost"...ie...it's uses weren't to BOOST performance per-se...we heard these rumours of shared frambuffer for sideport back when R7xx gen debuted, just because this is when development of R8xx began?

Can you explain how eyefinity works across crossfire then? If it works like normal crossfire, then how come it's not supported on RV870, as of yet?
 
oh you are talking about sideport memory for IGPs ?
that's just a piece of memory sitting on the motherboard dedicated to the graphics core. like the memory on your graphics card

4870 x2 sideport and igp sideport memory are two COMPLETESTLY different things

all eyefinity does is that the driver says "O_o i have a 31337 x 6667 pixels sized monitor connected". directx will then tell the game "listen game, the graphics card says it does resolutions: 1024x768, 1280x1024, 1680x1050, ...., 31337 x 6667". so the game adds this to its resolution drop down. you select that, game tells dx to switch to 31337 x 6667 fullscreen and it will render the same way as it renders in any other resolution. when the frame is finished, the graphics driver will then cut apart that frame and send it to the different screens.

btw at this point you should be asking "but omg this means the screen plane is flat, not /-\ shaped like i see in all those setups?" yup. it's --- not any other form.
 
Last edited:
4870 x2 sideport and igp sideport memory are two COMPLETESTLY different things

Are you sure? Sideport IS NOT that bit of mem on the board...let me quote some whitepaper, or something, but it's not called sdieport in the whitepapers..it's called hypermem, but the driver access to the extra mem channel(which is what sideport really is) is the same, hypermem, or sideport.

This PCI Express auxiliary memory channel is effectively a 64-bit memory
channel with access to system memory. This means that a VPU equipped with a 64-bit local graphics memory bus and a PCI-Express auxiliary memory channel has an effective 128-bit memory bus.

http://ati.amd.com/technology/HyperMemory_Whitepaper.pdf

The Radeon Xpress 200 supports a local frame buffer attached to what ATI refers to as their "SidePort". The SidePort is a 32-bit DDR memory interface that the integrated graphics can use either instead of or alongside the Athlon 64's memory controller.

~!snip~

Because of the added cost of supporting SidePort, it isn't a requirement - the Radeon Xpress 200 has four memory operating modes:
1.SidePort only - In this mode, the integrated graphics core treats the SidePort memory as its local memory. If more memory is needed, it is allocated dynamically through system memory by the driver, which is significantly higher latency than the local SidePort memory.
2.UMA only - In UMA mode, the only memory to which the integrated graphics has access is a dynamically allocated partition of system memory. The size of the parition is selectable from within the BIOS (ATI's reference board allows for 16 - 128MB sizes). If more memory is needed, it is allocated dynamically through system memory by the driver.
3.UMA + SidePort (Interleaving Disabled) - In this mode, the total amount of "local" graphics memory is the size of the UMA partition and the amount of memory connected to the Radeon Xpress' SidePort. The integrated graphics core will first use SidePort memory until it runs out, then using system memory. If more memory is needed, it is allocated dynamically through system memory by the driver.
4.UMA + SidePort (Interleaving Enabled) - By enabling Interleaving and setting the UMA frame buffer size to the same size as the memory connected to the Radeon Xpress' SidePort, a special Interleaving mode is enabled. In this mode, the integrated graphics cores will request data from both the UMA space and SidePort memory. The benefit of Interleaving is that now two reads or writes can occur at the same time, whereas with just SidePort only a single 32-bit read/write can happen at any given time. Despite the fact that UMA accesses will be higher latency, the dual ported nature of this setup improves overall performance. There are situations when a SidePort only configuration will offer greater performance if the application depends on lower latency memory accesses. If more memory is needed it is dynamically allocated through system memory by the driver.

-Anandtech http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2269&p=17


Does that change things for you?

W1zz said:
all eyefinity does is that the driver says "O_o i have a 31337 x 6667 pixels sized monitor connected". directx will then tell the game "listen game, the graphics card says it does resolutions: 1024x768, 1280x1024, 1680x1050, ...., 31337 x 6667". so the game adds this to its resolution drop down. you select that, game tells dx to switch to 31337 x 6667 fullscreen and it will render the same way as it renders in any other resolution. when the frame is finished, the graphics driver will then cut apart that frame and send it to the different screens.

Then why is it so hard to get this working with crossfire? I mean...really, I understand how eyefinity works...I question how eyefinity would have issues with Crossfire, if that is the case, unless we are getting into the area of 3870x2, and it's pci-e 1.1 switch, whic hwas bandwidth starved..so eyefinity doesn't work with crossfire due to bandwith constraints on the pci-e bus? Does that really make sense to you?.

What about my other questions?
 
btw at this point you should be asking "but omg this means the screen plane is flat, not /-\ shaped like i see in all those setups?" yup. it's --- not any other form.

We need a flat screenplane or the 2D desktop would get completely farked. Good point though... in gaming... if the set up of the screens is in an arc... or indeed a circle... then game engine needs to have options to manage how the view is rendered.

6 screens could be set up in a plane, or in a small arc, or in a complete circle. Eyefinity cannot predict how you physically set it up... so the 3D engine would need to do it. Well actually, eyefinity driver 2.0 could allow user controllable "stretching" to help... but it could never solve the "circle" setup. That would have to be done in-engine.
 
There is a depth setting on some of the HL games. Either way rendering on the screens from the photos I have seen looks OK, and still allows a huge number of pixels and thus a large advantage in gameplay.
 
and there is no sideport on cypress, only rv770, only on hd 4870 x2. and afaik it was never enabled.

I can almost guarantee now, a couple hours later, that there is no "sideport"(or an extra memchannel not in use) in Cypress.

256-bit + sideport...Hello rumours of 384-bit mem interface.

I have official statement from ATI that PLX is PCI-E 2.1, and there are NO, I repeat NO, bandwidth limitations for inter-gpu communication.


So why doesn't eyefinity work with Crossfire? And why do many apps that work with 5870, fail with 5970?




:banghead:


If I'm going to invest the time to edit and debug a driver to get Eyefinity working properly, I need more info, and AMD is mum about what the problems are with Eyefinity. Well, not completely, but they won't comment on why some apps work on 5870, and not 5970, other than "engine compatibility issues". But these apps work fine on earlier gen crossfire...and non-Eyefinity Crossfire...so if it as you say, W1zz, then AMD is lying, plain and simple. Oh well.
 
Last edited:
http://www.tomshardware.com/reviews/790gx-graphics-sideport,2088.html


http://news.softpedia.com/news/Gigabyte-Adds-128MB-of-SidePort-DDR3-Memory-To-780G-Mobo-88659.shtml


http://forums.amd.com/game/messageview.cfm?catid=261&threadid=107255

http://www.faqs.org/patents/app/20090248941


Google is your friend.


Sideport is the extension of the ring bus interface, or the crossbar onto the memory mapped addresses of the PCI-e lanes, that also allow the use of direct memory addressing by the GPU to the systems memory to hold extra data. And by extension access to data in use on the PCIe bus of other data cards, IE crossfire. But the crossfire bridge is much faster than the PCI-e lanes, and are proprietary and thus could be tied into the core of the GPU without interfacing possibly.


Not to be considered a extra any amount of memory channel width due to the huge performance hit taken when data has to be fetched from main system memory.

Eyefinity I am supposing uses a interrupt that is also used currently by the crossfire to intercept the data and meter it out to the cards, and thus if it were intercepting data from the game thread and deciding what to do with it based on current crossfire, then the delay time introduced by also pushing eyefinity decisions would hurt framerates on current gen games. Meaning the DX11 full implementation and direct control over the game and threading will be a prerequisite for running eyefinity.


My opinion on eyefinity is that it doesn't truly draw a large surface and split it, but when you look at the games it actually does draw a Primary surface, then starts work on the next screen as if it were a single individual monitor with a different view, so on and so forth. Meaning that if frame rate drops below a acceptable limit you will see page tearing one screen at a time instead of all at once. But that is just my idea.


http://www.engadget.com/2009/09/11/video-ati-radeon-eyefinity-eyes-on-featuring-left-4-dead-on-a/

watch this and close to the end if you click to pause frequently you will see that the multiple projectors are running as one, but during some frames a double image is displayed as tearing occurs on one screen/projector only. meaning that one image at a time is updated/drawn.
 
Last edited:
Eyefinity I am supposing uses a interrupt that is also used currently by the crossfire to intercept the data and meter it out to the cards, and thus if it were intercepting data from the game thread and deciding what to do with it based on current crossfire, then the delay time introduced by also pushing eyefinity decisions would hurt framerates on current gen games. Meaning the DX11 full implementation and direct control over the game and threading will be a prerequisite for running eyefinity.

That makes sense, and official statement today about no sideport:

"ATI CrossFire Sideport is not implemented in the ATI Radeon HD 5800 series GPUs. Improvements in our ATI CrossFireX drivers and interconnect performance have made this unnecessary feature For achieving good performance scaling on multi-GPU boards, be it past generation or current generation products. We have seen that PCI Express 2.1 bandwidth can keep ATI Radeon 5800 GPUs fed with data,” said Devon Nekechuk, a spokesperson for ATI.


http://www.xbitlabs.com/news/video/...ce_Boosting_Technology_from_Latest_Chips.html

But if all of this is true...sheesh...eyefinity has been "tacked on", and is a waste of time.


:banghead:

Not to be considered a extra any amount of memory channel width due to the huge performance hit taken when data has to be fetched from main system memory.

Sure, but for local access, say, on 4870x2, or 5970, I think that latency would not be so bad.
 
Last edited:
not a waste. Just wating for the right time.


Ever seen a P65 camera, with a hundred GRAND invested in a camera and some good lenses taking 60MP shots for a billboard you woudl appriciate the ability to work with your image in real time, and on a per pixel basis.
 
Steevo, while adding more monitor outputs would suit this situation, that has nothing to do with eyefinity, as hydravision already deals with grouping many monitors as a single desktop. I do this all the time with audio-editing programs. Image editing is done in 2d space. Eyefinity is bringing this functionality to 3d.

Due to video-stack limitations, for this to work, all the monitors must connect to the same vga...seems a OS limitation, not hardware.
 
No hydravision is limited to the number of outputs, which untill the 5000 series came along was two double width DVI ports.


The Eyefinity cards have 6 channels, and thus can support a larger display surface, as well as the vmem to go with it.


Steevo, while adding more monitor outputs would suit this situation, that has nothing to do with eyefinity, as hydravision already deals with grouping many monitors as a single desktop. I do this all the time with audio-editing programs. Image editing is done in 2d space. Eyefinity is bringing this functionality to 3d.

Due to video-stack limitations, for this to work, all the monitors must connect to the same vga...seems a OS limitation, not hardware.


I don't know of a video stack limitation in windows as it is just controlled by the driver.
 
Last edited:
I'm using hydravision right this moment, 3xP2310H, 1 x 3007WFP

2 x P2310 in portrait, 3007 above the last P2310H, in landscape. 2x 4890.

It does not work with Crossfire, but with Crossfire disabled, no issues to report here yet...I use Logic, ableton Live, Guitar Rig4, and Reason/ReCycle.

I stretch Logic across the 3 P2310H, leaving small spaces on each portrait monitor for the VSTs to be easily accesible.

attachment.php


If the problem of using multiple monitors in 3D from seperate cards was just driver-related, we'd have had it many years ago. If this was the case, you could use both nV and ATI vgas at the same time rendering 3D, without Lucid Logix. MInd you, I suppose that PATENT issues may prevent them from doing this. SoftTH shows how this can work. We'd also have eyefinity on 4xxx, 3xxx, 2xxx...

Nevermind, I know for a fact that it's a Vista limitation, which has been fixed in Win7.
 

Attachments

  • 4xhydravision.jpg
    4xhydravision.jpg
    45 KB · Views: 1,201
Last edited:
I've edited, Steevo, check my post!

Cards!!!Cards!!! 2x4890!
 
Two cards then?

Each having two dual link DVI connectors? So there you have it. Two cards, eyefinity is one card.



Two cards that the screens cannot be syncronised when running a 3D app due to latentcy and drawing times, and standards involved for a 3D application and game threading.


So yes you may run up to 6 displays, and all those for the desktop, and some for the applications.




Can you open a large single picture with photoshop and have everythign work correctly?



And that also removed your video stack limitation theory.
 
Yep. 4 monitors, 2 cards, one desktop surface. Just a matter of lining up the monitors correctly, but CCC and hydravision have supported this for a couple of years, at least, as I've run 3 or more monitors on my DAW since early 2007.

You used to be able to egt a "true" single desktop on one card, and the 3rd/4th were extensions, but ATi has recently removed this functionality, probably premptively for eyefinity. This might be why they are having issues, IMHO, but whateva...


No, it didn't remove the stack issue, steevo, as we are talking about 2D here(photo editing and audio editing), but 3D, however, is a different story. Never bee nable to run more than one monitor in 3D unless the app specifically supported it. The added outputs on the 5800 series bypass this limitation in VIsta, but in Win7, as far as I know, yes, as you said, it's a driver limitation to use two seperate vgas...
 
I have used two monitors and a TV, actually my projector, monitor and a TV. But my projector and TV were set to clone mode.


I had enough issues with it that I finally just gave up and dropped the TV. Even my current setup locks up occasionally when switching between displays and modes.

I am hoping eyefinity fixes this, and allows me to use my hardware the way I wanted to.


Edit your game information fule to allow your specific screen size with hydraision.
 
I don't/haven't ever used clone mode...right now I've got IE spread across all three P2310H's...2 in portrait, one in landscape.

And yes, this is EXACTLY what is happening with some apps, editing the 3D app(see Dragon Age patch notes), however, due to Vista stack limitations, you are limited to connected devices on a single card. This would mean that the 4890 et~al would be limited to a max 2 monitors, as you mentioned, in 3D. This is why in crossfire, I can only use two monitors(one for 3D, one for monitoring apps, but some apps, like SupCom, support use of both monitors)...you can only use the display outputs of a single device.

This is why I have such interest...it really should just be a driver issue to use 4890's or whatever in Eyefinity, using Win7. But becuase of the issues I'm seeing on the gaming box, I'm really starting to feel that it's more than that, and possibly hardware...which brought the idea of sideport being used...because otherwise, ATI screwed up the hardware design really bad, and should never have promoted eyefinity as much as they have.
 
just to clarify something from before

Sideport is video ram built in to the motherboard. my 785G board has 128MB of DDR3 1066 built in, so that its not just an IGP - its truly a built in dedicated video card.

Hypermemory is a method for video cards (even non IGP) to use system ram to make up for a lack of dedicated ram.


and cadaveca has it right: eyefinity is what lts you game/3D on more than 2 screens without something fancy like the matrox triplehead2go. all the other solutions have you running in windowed mode.


the main deal with eyefinity is that three monitors can be used at the same time on the one screen (allowing a left, center, and right screen) - which has some use for gamers.
The eyefinity edition cards have 6 outputs, and with displayport hubs/adaptor thingies, you can crank that up even more. so while you're still limited to the one GPU for outputs, theres a lot more outputs per card.
 
Mussels, the driver management, for "hypermem" and "sideport" are exactly the same. It's the use of many SEPERATE memory CHANNELs to different set of mem, in conjunction. It can be direct link(sideport), via pci-e(hypermem), but in the end, it's the same tech, and same driver controls at work here...as both can, and will, work together, as I posted above with the Anandtech link about RadeonXpress200..an old, old chipset. Using this functionality, you can have a shared framebuffer between two chips, using GDDR5. The programming work to have it work effectively may create more cpu overhead that negates any performance bonus it brings, but things like latency issues are not the problem, when used in ASICs like 4870x2, and 5970.

In the end, seemingly horrible naming conventions are getting in the way of clarity!!!!~:laugh:
 
Last edited:
Thus why they show Vista as Eyefinity capable?


DX11 is the Eyefinity driver, the ability to spawn different threads and allow then to finish out of order.


http://www.amd.com/us/products/technologies/eyefinity/Pages/eyefinity.aspx




Driver limited, not video stack.


Sideport is not hypermemory, it might be the evolution of hypermemory, but just as we aren't monkeys, sideport is not hypermemory. Sideport was scrapped as the PCI-e buss was great, and the technical limitations were also. the crossfire bridge can provide along with the PCI-e lanes that are underutlized (sp) the communication between cards.
 
Thus why they show Vista as Eyefinity capable?


DX11 is the Eyefinity driver, the ability to spawn different threads and allow then to finish out of order.


http://www.amd.com/us/products/technologies/eyefinity/Pages/eyefinity.aspx




Driver limited, not video stack.

Eyefinity only uses the outputs of a single card(currently), hence works in Vista.

With Win7's video stack, it is MORE THAN POSSIBLE to get eyefinity working using outputs from multiple vgas. In this instance, yes, driver issues.

Sideport is not hypermemory, it might be the evolution of hypermemory, but just as we aren't monkeys, sideport is not hypermemory. Sideport was scrapped as the PCI-e buss was great, and the technical limitations were also. the crossfire bridge can provide along with the PCI-e lanes that are underutlized (sp) the communication between cards.
Yes, you are correct, however, if there is no sideport being used here, there is no reason for them to not have eyefinity working in Crossfire with ALL 5xxx cards. You're missing the point here. If it was just a driver issue, the same fix for 5970 would work with ALL crossfire groups.

Sideport has not been SCRAPPED...it's still used for IGPs. In the RV770, this same sideport hardware from the IGPs is present. They had extra die space, and threw it in. I've used faulty logics to glue together the rumour of 384-bit membus on RV870, and the reality of 256-bit mem, as indication that sideport functionality was still present in the R8xx gen chips.
 
Last edited:
OMG, another 5XXX series bandwidth thread?



Sorry sir, but you have just crossed the line of reasonableness. Why have a larger bus and then not use it? Not logical, not feasable, not worth it. In the other threads we have discussed the theoretical performance gains, and every time come up with a line that strictly follows the core speed as the limiting factor for the arcatecture, not the memory bandwidth or speed.


What do you know about Windows 7 taht you can share with the rest of us? I can't prve what you are saing about hte video stack to be false, as you can't prove a negative. Thus it becomes your job to prove it true. Enlighten me please.
 
Back
Top