MIT Artificial Vision Researchers Assemble 16-GPU Machine
lindik writes "As part of their research efforts aimed at building real-time human-level artificial vision systems inspired by the brain, MIT graduate student Nicolas Pinto and principal investigators David Cox (Rowland Institute at Harvard) and James DiCarlo (McGovern Institute for Brain Research at MIT) recently assembled an impressive 16-GPU 'monster' composed of 8x9800gx2s donated by NVIDIA. The high-throughput method they promote can also use other ubiquitous technologies like IBM's Cell Broadband Engine processor (included in Sony's Playstation 3) or Amazon's Elastic Cloud Computing services. Interestingly, the team is also involved in the PetaVision project on the Roadrunner, the world's fastest supercomputer."
"But can it run Crysis?"
*Ducks*
The day when self modification/upgrade enthusiasts start overclocking themselves and bragging about how many fps their eyes get watching the superbowl.
I noticed they didn't have 8GB of RAM though. Very sad.
When gamers grow up and go to college.. blue leds and bling in the server room!
In terms of actually being totally non-proprietary, Nvidia has to worry about ATI stealing their drivers (which they would or at least "borrow" alot from them), since Nvidia generally has that as their trump card over ATI no matter who has the better hardware. On the other hand, Nvidia has no interest in "borrowing" from ATI's drivers. ATI knows that, and that's why their drivers are open. Yes, it may suck for wanting to run anything multimedia, graphical or gaming wise on Linux if you have Nvidia card (I have an 8800gt and I feel the pain at times on KDE), but in this case, I think Nvidia's rationale for not giving up their specs is reasonable. Now, if they only cared more about their drivers for Linux, proprietary or not.
One more step to the last invention man ever need make... hooker bot. (mine would be a Buffy Bot, but that's just personal preference)
If you can read this... 01110101 01110010 00100000 01100001 00100000 01100111 01100101 01100101 01101011
I keep seeing all these articles about bringing more types of processing applications to the gpu, since it handles floating point math and parallel problems better. I only have a rudimentary understanding of programming compared to most people on this site, so the following may sound like a dumb question. But how do you determine what types of problems will perform well (or are even possible to be solved) through the use of GPUs, and just how "general purpose" can you get on such specialized hardware?
Thanks in advance.
I want to support ATI and AMD, but nVidia just works.
Their drivers are very nice.
Until that changes I'm a nVidia guy.
A third party open source driver should fix the problems.
Tom's Hardware did a pretty good job detailing the ups and downs of ATI and Nvidia with many of the major games of last year (BioShock, World in Conflict, etc). Overall, both companies faired well, but they reported quite a few crashes due to the ATI drivers. I've had an ATI card before, the 9800xt when Nvidia was producing their horrible 5xxx series back in 2003-04 that was totally worthless. The 9800xt was a good card for everything (gaming, graphical aps, etc). Sorry, I should have cited sources. Wasn't trolling on purpose, though I know that writing anything positive about Nvidia on slashdot is borderline blasphemy.
You are claiming ATI will outright steal from Nvidia, whether one driver is better than the other doesn't matter, I want you to back up your claim that they would do something like that.
I upgraded my X800XL to a 8800GT. With Windows, I never had a problem with my X800XL and I still have not see a problem with the 8800GT. The X800XL just worked and the 8800GT just works.
With Ubuntu, the X800XL was working nicely (open source drivers) and the 8800GT is a piece of crap. NVidia's drivers are horribly slow and a lot of users are reporting the same thing. I have an old computer with an even older GeForce 4 MX and it displays things faster.
Before I bought my 8800GT I didn't care much about one company or the other, but unless NVidia can release something that works well, I guess I am pro ATI for now.
Would you like me to call up ATI and ask them?
ATI Customer Service: What can I help you with today.
Me: If Nvidia made their drivers OSS, would you borrow from them?
ATI Customer Service: I'm sorry sir, we cannot answer that at this time. Is there anything else I can help you with?
Me: Nope, thanks.
If someone makes a better product and the product's is available for all to see, then most likely, similar products from competitors will borrow from the concept. Especially when it's legally allowed depending on the open source license. If nvidia published their drivers and going on the fact they are generally (I said generally in my previous post as well, so please do not pidgen hole me) better than ATI's, what would stop ATI from borrowing ideas or code from them other than scout's honor or just stubborness? I am not debating the ethics of it, since how is it wrong if it's not stealing? Aside from that, they could if they wanted without recourse, as I stated depending on what license Nvidia would choose for their open source drivers.
Also, isnt the concept of opensource to share information to better the overall technology? If nvidia feels that giving out their driver code will give ATI better video cards than their own, it would be insane for Nvidia to release them (which implies that ATI cards are more or less hardware equivilant to Nvidia). It may improve the overall tech, but only in favor of ATI (assuming ATI's own drivers do not improve from their own advancements not related to what they could potentionally gain from nvidia's). Hey, maybe there is a chance that Nvidia opening their drivers will cause ATI to go through some sort of breakthrough in drivers themselves, thus improving both their own drivers and nvidia's (if nvidia chooses to impliment it). Giving away the key to your company's flagship product would be economic suicide, the equivlant to Windows giving up its source code to XP, Vista and Office (as much as anyone here would like Windows to go opensource). On a final note, Nvidia probably has put too much money and time into their drivers to give them up, whereas ATI mostly invested more money into R & D of their hardware.
So I was right, you are trolling, too bad the mods can't see that.
I'm still eager to see PhysX running on my dual 8800M GTX laptop. I've run all the drivers from 177.35 up and I'm running the 8.06.12 PhysX drivers as required. :(
Apparently it's just the mobile versions
"We know what happens to people who stay in the middle of the road. They get run over." - Aneurin Bevan
I think this part of the computing timeline is going to be
one that is well remembered. I know I find it fascinating.
This is a classic moment when tech takes the branch that
was unexpected. GPGPU computing will soon
reach ubiquity but for right now it's the fledgling that is being
grown in the wild.
Of course I'm not earmarking this one particular project
as the start point but this year has gotten 'GPU this' and
'GPGPU that' start up events all over it. Some even said
in 2007, that it would be a buzzword in 08.
And of course there's nothing like new tech to bring out
a naysayer.
Folding@home released their second generation
GPU client in April 08. While retiring the GPU1 core in
June of this year.
I know I enjoy throwing spare GPU cycles to a distributed
cause and whenever I catch sight of the icon for the GPU
client it brings the back the nostalgia of distributed clients
of the past. [Near the bottom].
I think I was with United Devices the longest.
And the Grid.
Now we are getting a chance to see GPU supercomputing
installations from IBM and this one from MIT.
Soon those will be littering the Top 500 list.
I also look forward most to the peaceful endeavors the new
processing power will be used for... weather analysis,
drug creation, and disease studies.
Oh yes, I realize places like the infamous Sandia will be using
the GPU to rev up atom splitting. But maybe if they keep their
bombs IN the GPU it'll lessen the chances of seeing rampant
proliferation again.
Ok, well enough of my musings over a GPU.
-AI
For me, it is far better to grasp the Universe as it really is than to persist in delusion
We should PAY ATI to use nVidia's Drivers. I learned this on the Radeon 9800s. Solid Well performing card fairly good 3D Perfornce. Drivers utter and complete garbage. Used more memory, cause random crashes. I had to reinstall XP, after I sold the card, ( and after I had re-installed XP twice before to fix the 'feature' ) to get rid of .Net 2.0. Got a GeForce 4ti to replace. Was able to put a fan right over the GPU. Computer went to MONTHS without crashing, No more blue screens. (AMD 1.6 Ghz dual). If I ever see the words 'catalyst' its really 'crap_is_this_sys'
I now have a pair of nVidia 7600GTs on a crossfire motherboard. ( yea, it sould have ATIs on it ), but with the driver hack, I can play a whole weekend no problems. I cant seem to remember this new box (AMD 2.0Ghz) ever requiring rebooting, except for Windows Updates. I basically bought the rig to play FarCry, and its great on FarCry. I cant wait to get Crysis.
Maybe the don't want people writing crappy drivers for NVIDIA cards?
Maybe they work for you: I find NVidia drivers quite painful, especially for non-Windows operating sytems. And a 'third party open source driver'can't get the details of the NVidia API to work from, which means a huge amount of reverse engineering, especially of their propriatary OpenGL libraries, which are at the core of their enhanced features in non-Windows operating systems.
> 8x9800gx2s donated by NVIDIA.
;)
I wonder how many BSODFLOPS (Blue screens of death per second) it can generate?
http://byronmiller.typepad.com/byronmiller/2005/10/stupid_windows_.html http://www.google.com.au/search?q=nvidia+'blue+screen+of+death'+nv4_disp
is it me or do I see two separate mobos...which means it's two machines, 8 per machine in one box....not 16?
now...if it was 16 in one...now that would be amazing....otherwise...it's not...'cuz there was that other group that did 8 in 1 (aka...16/2 => 8/1)
"I find NVidia drivers quite painful, especially for non-Windows operating sytems."
wait, so your telling me you have troubles with the windows drivers too? it's a single download for the platform your on and next next done.
Granted, the linux ones have a couple more steps than that, but it's still rather trivial for most people, considering it's the most frequently used driver for 3d on linux (besides possibly intel).
Erm are you using the open source drivers?
No 3d acceleration.
Use the nVidia drivers which are nearly identical to the Windows ones.
a system with 16 x 4870x2s. they will draw less energy too.
Read radical news here
ATi could conceivably steal parts from the first two from nVidia, but it's doubtful that they could steal anything from the last part since their hardware designs are sufficiently different to make this hard.
The problem nVidia are going to have is that the new Gallium architecture means that the first two parts are abstracted away and reusable, as is the fall-back path (which emulates functionality any specific GPU might be missing). This means that Intel and AMD both get to benefit from the other company (and random hippyware developers and other GPU manufacturers / users) improving the generic components, while nVidia are stuck developing their own entire alternative to DRI, DRM, Gallium, and Mesa. The upshot is that Intel and AMD can spend a tiny fraction of the time (and, thus, money) developing drivers that nVidia do. In the long run, this means either smaller profits or more expensive cards for nVidia, more bugs in nVidia drivers (since they don't have the same real-world coverage testing).
Now, if you're talking just about specs, then you're just plain trolling. Intel doesn't lose anything to AMD by releasing the specs for the Core 2 in a 3000 page PDF, because the specs just give you the input-output semantics, they don't give you any implementation details. Anyone with a little bit of VLSI experience could make an x86 chip, but making one that gives good performance and good performance-per-Watt is a lot harder. Similarly, the specs for an nVidia card would let anyone make a clone, but they'd have to spend a lot of time and effort optimising their design to get anywhere close to the performance that nVidia get.
I am TheRaven on Soylent News
There are 2 main differences between DX9 and DX10 :
I - The shaders offered by the two APIs are different (shader model 3 vs 4). None of the DX9 screen shot does self-shading. This is specially visible on the rocks (but even in action on the plancks of the fences). So there *are* available under Vista additional subtleties
II - The driver architecture is much more complex in Vista, because it is built to enable cooperation between several separate processes all using the graphics at the same time. Even if Vista automatically disables Aero when games are running full-screen (and thus the game is the only process accessing the graphic card), the additional layers of abstraction have an impact on performance. It is specially visible at low quality settings where the software overhead is more noticeable.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
pcie isn't a bus, but is point-to-point.
God, they stuck so many fans into that box that I bet it takes off the ground when it boots.
Do you know the human brain has about 100 billion neurons? Each neuron can be represented as a weighted average of its inputs, a typical human neuron has some 1000 inputs and does around a hundred operations per second.
So, yes, *maybe* there could be some very smart algorithm that mimics human reasoning, but that's not how it's done in the human brain. It's raw computing power all the way.
Thats an easy problem to solve! Just wait for the technology to mature before purchas...Oh.
Nvidia has to worry about ATI stealing their drivers {...} ATI knows that, and that's why their drivers are open.
We are not speaking about releasing source code of current drivers. In fact ATI/AMD's fglrx *IS NOT* open. At all. What is open are 2 *separate* drivers projects, which are done using the *technical data* released by AMD.
You're confusing the situation with Intel. (They paid Thungsten Graphics to write an open source drivers for i8xx/i9xx to begin with. There's no such thing as a proprietary intel drive on linux. Only an opensource driver written by TG)
What we want is not nVidia releasing the source of their drivers. What we want is nVidia providing enough technical data to the Nouveau project, so they can develop alternative open source drivers.
I think Nvidia's rationale for not giving up their specs is reasonable. Now, if they only cared more about their drivers for Linux, proprietary or not.
Their main rationale isn't about ATI peeking inside their spec. After all, what the open source projects are asking for (and obtaining from AMD and finally from VIA, but still not from nVidia) is not the *code*, but the *specs*. And the specs are only a description of how to interface the hardware. As both Radeon HDs and GeFroce use radically different designs, specs won't help much beyond have a little better idea of what the other hardware is doing under the hood. But there's no way the knowledge of which hardware registers does what that will help stealing driver code.
It fact that won't help at all because ATI and most open source projects are using Linux&BSD's standart Xorg + DRI stack, whereas nVidia use their own structure to handle 3D.
The most probable reason for not releasing the hardware specs, is that modern GPU hardware is horribly complicated. With a big number of teams working on an insane amount of components. Significant portions of technology going into a graphic cards might have been subcontracted or might be licensed from 3rd party providers.
It can be a real legal nightmare to track all the license dependency to clear a release. For nVidia which has covered a pretty big chunk of the market (Windows and some Linux running proprietary drivers), going through all legal hoops just to please a last few corner cases (linux running non-x86 hardware, other opensource systems, etc...) which only bring tiny fractions of market simply isn't worth at all.
This complexity can also be seen in AMD/ATI release scheme : /. a couple of months ago. They plan to use a different design on future product, having clearly separate video and hdcp units so releasing the specs of the former won't violate the licensing terms of the later. (They've also told in other places that they will move to more open-source friendly designs overall).
- They release the specs one piece at a time, with long delay because of the necessary check with the legal department to obtain clearance. (Sometimes criticized on irc channels for the slowness of the process)
- Some specs won't be releasable at all. In current generations of GPUs, the video decompression acceleration is intricate with the HDCP encryption. And the licensing terms of the later prohibits the release of the specs of the current video+hdcp unit. This was mentioned in an interview on
The situation is somewhat different with VIA as : /. that their chips have video decompression unit, but doesn't provide any software middleware
- Their chips are rather small projects combining less technologies and mostly done in house. The licensing complexity is smaller.
- They don't license 3rd party technologies, but instead count on OEMs and system integrators to license what they needs themselves. This may poses problem for Windows development (it was recently mentioned on
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
So it's about one fan per GPU? Seems annoying and inefficient. Why not build it more spread apart, or use a "Central Air" system like people use in their homes.
Not using water cooling I understand, 'cause there'd be around 30 tubes snaking in and out of the box - something would fail/leak.
..........FULL STOP.
They should use the quantum computer described a few posts above, it seems to be especially designed for pattern matching that computer vision might require.
I've had to clean up when someone trying to fix their PC and driver problems went and re-installed drivers from their media, when I'd I'd updated from NVidia's site, and monitors become completely unavailable on dual-display cards from the previous working display, and had it impossible to fix without dragging another monitor in with the other connector type and fixing events from the other display. It's compounded on systems with built-in displays and add-on graphics cards.
So yes, I've had real problems with NVidia's Windows drivers. And the Linux installer problems are compounded by NVidia's refusal to allow them to be published as part of an OS release and attempt to force the manual installation. This breaks package management of the OpenGL libraries for the operating system.
I think it's great to see that we can finally start using GPUs to do things beyond gaming, but I also don't see it as the Great Second Coming of high-speed computing. GPUs are designed to tackle only one kind of problem, and a highly parallel problem at that. If you are a researcher and you can see huge gains in performance by using GPUs, then great! But GPUs are hardly general purpose, and will simply not address most of our computing needs. I see the rise of GPUs as similiar to computing in the 60's(?). Figure out what kind of software you need to run, and then design a computing platform around it. If you need to perform small operations on a highly parallel data structure, then a GPU cluster is an excellent way to go. -One beginning computer architect's opinion
The GPU architecture has been progressively moving to a more "general" system with every generation. Originally the processing elements in the GPU could only write to one memory location, now the hardware supports scattered writes, for example.
As such I think the GPGPU method of casting algorithms into the GPU APIs (CUDA et. al) are going to die a quick death once Larabee comes out and people can simply run their threaded codes on these finely-grained co-processors.
UBU
But does it run Crysis?
On June 30 of this year, The New Yorker magazine published a fascinating, if at moments disturbing article entitled The Itch. The article discusses, among other things, the human mind's perception of the reality of its environment based on the various nervous inputs it has, vision included. Apparently this is an oft debated topic among the scientific community, but it was new information to me.
One of the things I found intriguing was the note that the bulk (80%) of the neural interconnections going into the visual cortex of the human brain come not from the optic nerves themselves, but from other areas of the brain including "functions like memory." The suggestion is that the eyes provide visible light input, but that the brain's processing of what it is looking at is primarily an act of abstract object/pattern reconstruction.
If you couple this notion with the limitations of the human eye itself -- such as the fact that the finest resolution/detail comes from an incredibly narrow region directly in the center of the FOV with rapidly decreasing information towards the extremities that ranges from soft profiles to mere suggestions of color, brightness and movement -- it strikes me that if researchers at MIT wish to replicate the model of human vision on any level close to reality, their input and processing systems should actually be modeled a bit like the real deal.
I believe that without a solid neural net with strong pattern recognition, instant recall, massive parallel processing - the finer things of the visual cortex - that human vision will not be possible with semiconductors. Is 16, 32 or 100 GPU's substantial enough to pull it off? Probably not, I think - too much overhead, not enough interconnects... to coin a pun: "too RISCy". I must admit though that the research discussed in the technologyreview link is very interesting.
It's better than setting off real live nuclear weapons in the desert like they used to do.
If you mod me Overrated, you are admitting that you have no penis.
I looked through each of TFA's linked in the story, and I don't see any technical details on this system. Whereas when the FASTRA people at Univ. of Antwerp put together their 4 9800-GX2 system for CUDA, they published all the nitty gritty down to specific parts, etc. The pictures are interesting but not enough.
This isn't for gaming, this is for planning how to more cost effectively kill humans.
Let me fix that for ya:
This isn't for gaming, this is for planning how to more cost effectively threaten to kill humans.
I had eight Quadro Plex units where I used to work for CAD/CAM/FEA/CFD...a year ago.
1) Your task has to be highly parallel. You really need something that can be made parallel to a more or less infinite level. Current GPUs have hundreds of parallel shader paths (which are what you use for GPGPU). So you have to have a problem that can be broken down in to a bunch of small parallel processes.
2) Your task needs to be single precision floating point. The latest nVidia GPUs do support double precision, but they are the only ones, and they take a major, major speed penalty (way over 50%) to do it. Thus your task needs to be 32-bit FP numbers, as that's what the GPUs like to crunch.
3) Your task needs to have a minimal amount of branching. GPUs now can do if-then sort of logic, but it incurs a pretty big penalty. So your task needs to be largely free of that. Needs to be the kind of thing where you are doing lots of predictable calculations, not a whole lot of indeterminate tests.
4) Your task needs to fit in to the available RAM. GPUs have a lot of RAM, but not nearly as much as normal computers. The most a consumer GPU has right now is 1GB for the nVidia GTX 280. The vast majority of them have only 512MB (ATi 4800 series, nVidia 9000 series and most of their 8000 series). You can get specialised boards with more, nVidia calls them Tesla, but the cost more and they still cap out at 4GB. So you have to be able to describe the problem in that amount of memory. While GPUs can access system RAM is is much, MUCH slower. The PCIe bus is only a couple GB/sec and video memory is over 100GB/sec in the high end GPUs. Thus if your task won't fit in GPU memory, you are going to lose much of the performance to swapping.
Those are the principal limitations. If your task is highly parallel, 32-bit FP, mostly linear, and under 1GB, then you'll likely find a GPGPU solution works well. If not, you'll want to do more research and testing first. It isn't that they might not help, but it also might not be the big gain you were hoping for.
CAE's Tropos image generators use 17 GPUs per channel in a commercially available package. Each image channel (there are usually at least 3 in a flight simulator) uses 4 quad-GPU Radeon 8500 cards in addition to the onboard GPU which is only used for the operator interface. I've been working on these things for a couple of years now.
You laugh, but it seems like my eyes have gotten faster.
I used to not care about 60hz refresh rate, but now I can't stand it. Look straight ahead at a CRT monitor running 60 hertz looks like a rapidly flickering/shimmering mess. 70 hz is still annoying b/c my peripheral vision picks it up.
I attribute my increased sensitivity to flicker to playing FPS's.
Oh and when a decent brain-computer interface comes out I'll be getting one installed.
They ARE out to get you simply because They are in it for themselves and they don't care about you.