Slashdot Log In
New Multi-GPU Technology With No Strings Attached
Posted by
kdawson
on Tue Aug 19, 2008 07:08 PM
from the here-process-this dept.
from the here-process-this dept.
Vigile writes "Multi-GPU technology from both NVIDIA and ATI has long been dependent on many factors including specific motherboard chipsets and forcing gamers to buy similar GPUs within a single generation. A new company called Lucid Logix is showing off a product that could potentially allow vastly different GPUs to work in tandem while still promising near-linear scaling on up to four chips. The HYDRA Engine is dedicated silicon that dissects DirectX and OpenGL calls and modifies them directly to be distributed among the available graphics processors. That means the aging GeForce 6800 GT card in your closet might be useful once again and the future of one motherboard supporting both AMD and NVIDIA multi-GPU configurations could be very near."
Related Stories
[+]
Hardware: Promised Platform-Independent GPU Tech Is Getting Real 102 comments
Vigile writes "Last year a small company called Lucid promised us GPU scaling across multiple GPU generations with near-linear performance gains without restrictions of SLI or CrossFire. The company has been silent for some time, but now it is not only ready to demonstrate the 2nd generation hardware, but also to show the first retail product that will be available with HYDRA technology. In this article there is a quick look at the MSI 'Big Bang' motherboard that sports the P55 chipset and HYDRA chip and also shows some demos of AMD HD 4890 and NVIDIA GTX 260 graphics cards working together for game rendering. Truly platform-independent GPU scaling is nearly here and the flexibility it will offer gamers could be impressive."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
No strings? (Score:5, Funny)
If there's no strings, how are they connected?
Re: (Score:2, Funny)
It's a GPU orgy. They'll find a way to connect.
Re:No strings? (Score:5, Funny)
The theory will fit, there will be strings, we'll add more dimensions if we need to.
Parent
Re: (Score:2)
Re:No strings? (Score:5, Funny)
I'm sure there's a superstring theory joke in here somewhere. Unfortunately I don't understand string theory. I guess it's okay, since apperantly no one else does either.
I guess I'll just reference XKCD
http://xkcd.com/171/ [xkcd.com]
Parent
Q: OK, what would that imply? (Score:4, Funny)
Parent
AMD and NVIDIA?? (Score:2, Interesting)
No (Score:5, Informative)
ATI were bought out by AMD, so future ATI GPUs will be released by AMD.
Parent
Re: (Score:3, Funny)
Interesting (Score:5, Informative)
I gave TFA a quick perusal and it looks like some sort of profiling is done. I was about to ask about how it handled load balancing when using GPU's of disparate power, but perhaps that has something to do with it. It may even run some type of micro-benchmarks to determine which card has more power and then distribute the load accordingly.
I'll reserve judgement until I see reviews of it really working. From TFA it looks like it has some interesting potential capabilities, especially for multi-monitor use.
Re:Interesting (Score:4, Insightful)
It seems to be using feedback from the rendering itself. If one GPU falls behind, it sends more work to the other GPU. It may have some kind of database of cards to prime the algorithm, but there's no reason it has to run extra benchmarking jobs.
Parent
Re: (Score:2)
True, but I was thinking that the software could profile/benchmark both cards at startup. What you say makes sense though, and like I said I only gave TFA a cursory viewing.
Re: (Score:3, Interesting)
Re:Interesting (Score:5, Informative)
"It seems to be using feedback from the rendering itself"
Yep it does look like it's worked out dynamically; the article states that you can start watching a movie on another monitor while scene rendering on another, and it will compensate by sending fewer tasks to the busy card. Simplest way I'd assume to do this would be to keep feeding tasks into each cards pipeline until the scene is rendered. If one completes tasks quicker than the other, it will get more tasks fed in. I guess you'd either need to load the textures into all cards, or the rendering of sections of the scene could have to be decided in part by which card as textures it needs already in its texture memory.
I guess we're not gonna know a huge amount as these are areas they're understandably keeping close to their chests.
Parent
Re: (Score:2)
Perhaps it keeps shovelling work to each GPU until it notices an increase in time getting the results back, and then surmises that GPU is at it's maximum load?
Re: (Score:3, Interesting)
I gave TFA a quick perusal
FYI, this is a very common mistake in English, and loathe though I am to be a vocabulary Nazi, I think pointing it out here might benefit other Slashdot readers:
The verb "to peruse" means to read thoroughly and slowly. It does not mean "to skim" -- quite the opposite!
(Unfortunately, it seems that even the OED is giving up this fight, so maybe I should too.)
That's it for this post. Cheers!
Re:Interesting (Score:5, Insightful)
Put it this way, if it was a disparate CPU multiprocessor board, and the summary said "Perhaps my p4 will now be useful again", everyone would be laughing.
A 6800GT would be an insignificant fraction of a new card, and would still be under 10% of a $50 no-name 8 series (while still sucking down the same wattage).
Considering that matched SLI is usually a waste of money - you can buy that second card in a years time when your current one shows age, and end up with a better card than twice your previous one (and supporting Shader Model Super Titrenderer 7), which your old card can't do), I'm not sure how this is going to be of much benefit.
If it was useful to jam a bunch of cheap chips in then the card manufacturers would be doing it on more of a scale than the "desk heater dual" cards (which are basically SLI-in-a-box) at double price. You can't get a card with 4x 6800 chips at $5 each, because they'd be destroyed by the $10 8 series chip on a $50 card.
Parent
Re: (Score:3, Interesting)
An especially troublesome aspect of pairing mis-matched cards: whatever this technology is, it can't use alternate-frame rendering (AFR, where alternating frames are sent to alternating cards).
You can't make AFR work with an unbalanced pair of cards because the fastest framerate you can get is limited to 2x the speed of the slowest card. Let me explain: if you paired a new card (100fps) with one that had 1/2 the speed (50fps), if you had perfect scaling, you could technically get 150fps from the pair. But
Re: (Score:3, Interesting)
What about the fact that different cards give different results for texture filtering? Specifically their choice of mip level and anisotropic filtering. Think circle vs square differences.
Hell, some cards implement anti-aliasing differently to others.
Non-Windows drivers? (Score:5, Insightful)
Can it work with Linux or OS X?
no Strings attached (Score:5, Funny)
what is attached though:
ints
booleans
longs
short
bytes
Re: (Score:3, Funny)
what is attached though:
ints booleans longs short bytes
what about lists, you insensitive clod!I call lisp discrimination.
Re: (Score:3, Funny)
What about tuples you insensitive Python hater!
Time to make them imcompatible! (Score:4, Insightful)
Re: (Score:2)
I thought that too, hopefully NVidia turns around and says "Ok, here is a cheaper version of model xyz, stripped down a bit, so you can afford to buy 4 from us for this little trick"
I'm not holding my breath but it would be worth the money methinks, even if they only sold them in 4 packs.
Re:Time to make them imcompatible! (Score:5, Interesting)
Don't you mean Wierd(er).
The reason NVidia requires such symetrical cards isn't just because of speed and frame buffer synchronization but also because different cards render different scenes slightly differently. This is the reason why OpenGL rendering isn't used very often in post production. You can't have two frames come back to you with slightly different gammas, whitepoints, blending algorithms etc etc.
I'm actually very very curious how they intend to resolve every potential source of image inconsistancy between frame buffers. It seems like it would have to almost use the 3D Cards abstractly as a sort of CPU accelleration unit not an actual FrameBuffer generator.
Parent
Re:Time to make them imcompatible! (Score:4, Informative)
From the screen shots and the description, it sounds like this thing takes the d3d (or ogl) instruction stream, finds tasks that can be done in parallel and partition them up across several cards. Then it sends each stream to a card, using the regular d3d/ogl driver for the card. At the back end it merges the resulting framebuffers.
What I'd like to know is how they intend to handle a situation where the gpus have different capabilities. If you have a dx9 and a dx10 card, will it fall back to the lowest common denominator?
Also, what about cards that produce different results? Say, two cards that does anti-aliasing slightly different. The article says that Hydra will often change the work passed off to each card (or even the strategy for dividing work amongst the cards) on a frame by frame basis. If they produce different results you'd end up with flicker and strange artefacts.
Sounds like interesting technology but unless they get all those edge cases right...
Parent
My god... (Score:4, Interesting)
I mean, if one GPU is good and two GPUs are better, does that mean 5 are fantastic?
I used to have a Radeon 1950 Pro in my current system, which is nowhere near the top of the scale in video cards (in fact, it's probably below even average). It was so loud and literally doubled the number of watts my system took while running (measured by Kill-a-Watt). I took it out and now just use the integrated Intel graphics adapter. Man, that was fast enough for me but I don't play games very often.
Re:My god... (Score:4, Insightful)
"How long until my home computer is hooked up to a 50 amp 240 volt line?"
Mine already is... how do you usually power your computer?
Parent
Re:My god... (Score:4, Informative)
Parent
GeForce 6800 GT (Score:5, Insightful)
Re:GeForce 6800 GT (Score:5, Insightful)
*Any* app? Try getting an HD camcorder and editing some video of your kid/dog/girlfriend/fish and see how well your PC does. It's easy to make generalizations about other people based on personal experience. Resist the urge to do it.
Parent
Re: (Score:3, Insightful)
Well, that's just not even close to truth. I wouldn't even know where to start to refute that... I guess googling for bitrates of common HD video formats, and looking at CPU benchmarks doing some video encoding will be a good start in getting a little more informed on this topic.
Re: (Score:3, Informative)
Because modern video cards [amd.com] have more and more support for hardware encoding and decoding of video. While the support for encoding is only starting to show up, the hardware decoding makes a big difference in previewing HD video in real time with little CPU usage.
Eek. Potentially energy inefficient. (Score:4, Informative)
Power supply units only supply so much energy, and before then cause interesting system instability.
Also, given the increasingly growing cost of energy, it might be worth buying a newer generation card just for the sake of saving the energy that would be used by multiple older generations of graphics cards. Not the newer cards use less energy in general - but multiple older cards being used to approximate a newer card would use more energy.
I guess power supplies are still the underlying limit.
As an additional aside, I'm still kind of surprised that there hasn't been any lego-style system component designs. Need more power supply? Add another lego that has a power input. Need another graphics card? Add another GPU lego. I imagine the same challenges that went into making this hydra GPU thing would be faced in making a generalist system layout like that.
Ryan Fenton
Two Links, One Article? (Score:2, Insightful)
Why does the summary include two links to the same article? If there are two links, shouldn't there be two articles?
And why does the summary link the phrase "allow vastly different GPUs to work in tandem?" Not only isn't it a quote from the article, it actually contradicts the article. The article says "To accompany this ability to intelligently divide up the graphics workload, Lucid is offering up scaling between GPUs of any KIND within a brand (only ATI with ATI, NVIDIA with NVIDIA)." How did anyone g
Re:Two Links, One Article? (Score:4, Informative)
> How did anyone get "vastly different GPUs" from this?
Presumably because (for e.g.) a G70-based 7800 and a G92-based 8800GT are vastly different GPUs.
G70, for example, had two sets of fixed-purpose pipeline units (one of which ran your vertex programs, and one of which ran your fragment programs,) a bunch of fixed-function logic, some rasterisation logic, etc.
On the other hand, G80 and above have general purpose 'shader processors' any of which can run any pipeline programs (and, afaik, runs the traditional graphics fixed-function pipeline in software on said SPs), and a minimal amount of glue to hang it together.
About the only thing that current-generation GPUs and previous-generation GPUs have in common is the logo on the box (this applies equally to AMD parts, although the X19xx AMD cards, i'm told, are more similar to a G80-style architecture than a G70-style architecture, which is how the F@H folks managed to get it running on the X19xx before G80 was released.)
Parent
No strings. (Score:5, Funny)
But it looks like it will need plenty of threads to work though.
Re: (Score:3, Insightful)
Someone port java to opengl.
Seriously. That would rock.
You can use OpenGL from Java with JOGL [java.net]. Or were you thinking of running a Java or J2EE stack on your GPU? (That would be a really bad idea, in case there were any doubts)
Re: (Score:3, Funny)
No no, you're thinking "port OpenGL to Java". I want to see a Java VM written in OpenGL shader language.
Maybe having 384 lame little stream processors will make Java fast enough to compete with... um... Borland Pascal on a Cyrix 386.
Re: (Score:3, Informative)
A quick glance does look like this is the case. It's like having a load of extra ALUs which can speed up number crunching in apps where the same or similar actions need to be performed against a series of values, such as working with matrices, FFTs, signal encoding/decoding. But GP computing also needs flow control; conditional branching, which still needs the main CPU. (Memory management also, but GPUs do have at least basic memory management as they have increasingly large chunks of memory for caching tex
Re: (Score:3, Interesting)
Like... an optimizing compiler with OpenMP support that'll break down functions suitable for a GPGPU? Then based on some profiling data (both in development and runtime) it would automatically use the most optimized path, in similar vain to Intel's MT optimizations for their chips.
Re:Latency. (Score:4, Insightful)
Parent
Re:Latency. (Score:5, Informative)
I agree this is a common problem in modern games; see http://www.gamasutra.com/view/feature/1942/programming_responsiveness.php [gamasutra.com]
Don't confuse control latency with reaction time. Reaction time will be at least 150ms for even the best players, but humans can notice time delays much smaller than best reaction time. A good rhythm game player can hit frame exact timing at 60fps -- a 17ms time window. With low enough latency the game character feels like a part of your own body, rather than something you are indirectly influencing.
The same thing applies to GUIs, and only a very short delay will destroy that feeling of transparency of action. I never actually used BeOS myself, but I read that it was designed with low interface latency as a priority, which was why it got such good reviews for user experience.
Parent
Re: (Score:3, Interesting)
Re:Latency. (Score:4, Insightful)
Parent
Re:Latency. (Score:5, Informative)
Latency will be a problem. All that extra message passing and emulation layers.
Already, most Windows 3d games lead me feeling a little disconnected compared to DOS games.
The sound effects and graphics always lag behind the input a little.
Try playing doom in DOS with a soundblaster, then try a modern windows game. With doom you hear and see the gun go off when you hit the fire button. In a modern 3d game, you don't.
I've experienced the same thing over a number of different computers.
Most monitors have about a 30-50 ms input lag, meaning the image is always a frame or two behind in most modern games. You can get a 0-5 ms input lag monitor, though. The DS-263n is a good example. I felt like everything was lagged ever since I switched to LCDs, but once I picked up the 263, that feeling is gone. The feeling of sound lagging input could be a different issue or it could be psychological.
Parent
Re:Latency. (Score:4, Informative)
Yes, CRTs have something like 1-2 ms latency + refresh rate.
Parent
Re: (Score:3, Informative)
This is most likely due to a feature on newer cards and drivers whereby the video card actually renders ahead of time. They have algorithms to predict what the next 3-5 frames will be and the GPU uses extra cycles to go ahead and render those. That way, if something happens like there turns out to be a high-geometry object that pops out and gets loaded into memory, the video card has a buffer before the user notices a drop in their framerate.
The drawback? You get control lag. Newer drivers let you adjus
Re: (Score:3, Interesting)
Got an NVidia card? Go into the NVidia control panel, "Manage 3D Settings", "Maximum pre-rendered Frames", and set it to 0. I'm sure you can do something very similar with an ATI card.
Of course, I have a feeling that it's purely psychological what you're experiencing. With a modern computer (and I'm talking about one with more than 133 MHz) the "Windows" latency is below the threshold of humans. In modern 3d games, yes, I do hear the gun go off when I click the mouse - if my computer's specs are high enough