ATI's Stream Computing on the Way
SQLGuru writes to tell us that ATI has announced plans to release a new graphics product that could provide a shake-up for high performance computing. From the article: "ATI has invited reporters to a Sept. 29 event in San Francisco at which it will reveal 'a new class of processing known as Stream Computing.' The company has refused to divulge much more about the event other than the vague 'stream computing' reference. The Register, however, has learned that a product called FireStream will likely be the star of the show. FireStream product marks ATI's most concerted effort to date in the world of GPGPUs or general purpose graphics processor units. Ignore the acronym hell for a moment because this gear is simple to understand. GPGPU backers just want to take graphics chips from the likes of ATI and Nvidia and tweak them to handle software that normally runs on mainstream server and desktop processors."
So sick of x86. Look at all the cool stuff the graphics card makers are coming up with. Intel needs to buy NVidia to get real innovation done. I'm sure they have cool stuff cooking up, though. Let's get engineers going and let's get innovating!
Electronic musicians would love running their plugins on something like this instead of the CPU!
Bring it on ATI.
-Sj53
Not "Steam Computing"...
Perhaps they're following Valve's lead and are introducing 'episodic' computing.
So AMD's 4X4 could essentially become an 8-way processor? That might be cool, especially when the quads come out.
The cesspool just got a check and balance.
Fantastic hardware, I'm sure. But since they won't release the specs, then we'll all have to rely on their drivers. God job that ATI have such a stellar record when it comes to releasing stable, reliable drivers on Linux.
SJW n. One who posts facts.
General purpose graphical processing unit. If only there were some kind of unit that would process instructions centrally, it could be used for all sorts of things! We could call it... hmmm... a central processing unit? Naw, that just doesn't have enough zazz. Seriously, this is about as silly as trying to sell "physics acceleration cards". I don't want general processing to have to be stuck going through a PCI bus. Yuck.
Coding with assembly is like playing with Legos. Coding an application in assembly is like building a car with Legos.
Pond Computing, Lake Computing or Ocean Computing?
Does still leave room for doubt though.
Big deal. We live in a corporate world. Deal with it. And Intel, the largest of them, was the one that got you what you wanted!
Doesn't it matter that Intel's graphics are lame?
So much as I understand it, a GPU works much more efficiently then a CPU because it is much more flatter then a CPU - whereas a CPU work very quickly on one thread at a time, a GPU can work on a bunch more threads a lot slower. But the GPU adds up to more flops. Okay. Now, as I understand it, a Pentium 2 generally performs 1/5 the amount of work that a modern single core CPU does. As far as I understand it, a pentium 2 requires very, very, little dies space to make if we make it with a modern process. Which means that if intel feels like it, they can release a chip with 100 very small cores on it if they wish. So if that chip is not considered to be valuable, then why would this be?
It seems that GPGPU applicatoins are turning the GPU into something similar to the old math coprocessors, but for parallelizable, SIMD math.
I predict that they will eventually go the way of the FPU.
Powered by Web3.5 RC 2
I'm all for open source everything. Intel put a huge amount of nerd favor behind them. I think they still largely lack DVI though. That's my biggest concern. And dual link is likely completely out of the question.
(Full disclosure: I work for a major manufacturer of 3-D accelerators.)
There's lots of good sites that talk about GPGPU. Wikipedia has an okay article on the subject as well, and NVIDIA has a primer (PDF) on the subject. But the summary of this article is a bit overly broad.
GPGPU isn't about moving arbitrary processing to the GPU, rather it's about moving specific, computationally expensive computing to the massively parallel GPU.
Effectively, the core idea of GPGPU solutions is that you compute 256x256 (or another granularity) of solutions entirely in one pass.
NVIDIA has several examples on their website, specifically the GPGPU Disease and GPGPU Fluid samples. The Mandelbrot computation they have there could also be considered an example. (More samples here).
GPGPU has already been utilized to perform very fast (comparable to the CPU) FFTs. In an article in GPU Gems 2 (a very good book if you're interested in doing GPGPU work), they indicate that a 1.8x speedup can be had over performing FFTs on the CPU. I've heard that there are now significantly faster implementations as well.
I currently have no clever signature witicism to add here.
If "Stream Computing" is even half as revolutionary as "Blast Processing," count me way the hell in!
SEGA!!!
Slashdot Burying Stories About Slashdot Media Owned
Or are there not as many of those tasks as we were led to believe?
We could have had this long ago if not for the fact that the AGP bus is slow as hell when moving data from graphics card memory back to main memory/CPU.
Sure, you could do computations in graphics memeory, if you didn't mind waiting forever to read the results back.
Is that gonna happen? Dual link gives you the huge resolutions. Dual monitors is even better.
The next major generation of AMD CPU's will have multiple GPGPU cores on the same die and with a dedicated high speed bus, with a resulting architecture that will look extremely similar to the multicore Cell CPU's that will be going into the Playstation 3.
In the original PC, the VGA interface gave the CPU a direct window into the video memory. Your CPU was your GPU as well - the only thing the graphics card did was convert the raster of bytes in a certain location to a signal recognizable by the monitor. As such, the hardware wasn't optimized for the kinds of operations that would become typical in the games that followed. So video card manufacturers began a mitigation strategy which involved moving the computationally complex parts of rendering off to the video card, where the onboard processor could render much more quickly and more efficiently than the CPU itself. The drawback of this approach was that to take full advantage of your video hardware you had to run a certain buggy, unstable, and rather insecure operating system. Typically, the drivers were written only for Windows. Reinstalling Windows became a semi-annual ritual for serious gamers.
But, if ATI is successful in standardizing the GPGPU architecture, we may be able to take advantages of the video hardware on platforms other than Windows. While Linux has typical suffered a dearth of FPS games because of the lack of good hardware rendering support in the past, this has the potential for Linux to become the next serious gamer's platform.
Which is a good thing, IMHO.
The society for a thought-free internet welcomes you.
That "stream computing" sound to me like "Citrix on steroids", i. e. dumb terminals which get high-quality, real-time graphics and sound
We need to get rid of the variable length encoding. The very basis of x86 is a running joke for anyone who is clued.
I want to read more about it, but my brain is getting stuck on the acronym GPGPU. It just doesn't compute. Norman, coordinate.
Graphics processing is a specific task, with specific math and algorithms. How can it possibly be "general purpose" in any way?
Just sounds like another expensive piece of hardware I don't really need. (Well, until they show me some awesome Quake benchmarks or something.)
to make it enlarge my pr0n really, really fast. Me likes me pr0n really, really big!
There exists no way of exchanging information without making judgments. --Bene Gesserit Axiom
And who really needs this much extra processing power? If you already have an Athlon X2, or Core 2 Duo, how often have you maxed out your processor? How much of this is just bragging rights and penis extending?
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
Yeah, the idea is to have everything digital. Then pump up the monitor count and resolutions. I think I saw that Gate's office has three monitors. Begging for that setup.
We've had stream computing for several years on both platforms see "Metaprogramming GPUs with Sh" by McCool and DuToit. What is significant is that this follows the Purchase by AMD. Leveraging the purchase and providing closer coupling of the CPU and the GPU (HyperTransport?) for GPGPU could allow them to steal the march on Intel the same way they did with the 64 bit instruction set.
or is ATI all wet?
Stream processing is not new. There's been academic projects working on massively parallel systems for decades. One particular project I know of is UCSC's Kestrel processor, a 512-way 8-bit stream processor.In the late 90s this thing blew high-end desktops out of the water for linear processing tasks like image convolution and at a fraction of the power.
I've always thought of data projection queries in terms of Z-buffer processing. It would be interesting to see what a GPGPU could do for such queries.
For example, pricing, products, and services often have start and end date-times. Given a particular date, the effective pricing is most recently started data set that hasn't expired yet. It sounds easy in english, but it tends to be a rather bruatal set of unions and hierarchical-join queries to implement.
But given the I/O intensive nature of such processing, I'm not sure hardware accelerating the query evaluation would pay off.
Perhaps a better approach would be to use the power of such a processor to provide a hardware-based data widget implementation, such as topo-maps used to visualize geographic data sets. Where reporting tools pull in a data set then massage it, the GPGPU would be fed the data set and just display it directly.
I do not fail; I succeed at finding out what does not work.
This sounds like the GPU-based programs that OS X uses to perform Core Graphics and Core Video operations.
http://www.streamprocessors.com/company.htm
How is this really any different than a co-processor?
ouch
The HyperTransport protocol only calls for 8GB/s across the bus (I can't recall if thats one direction, or if thats the bidirectional speed). Which means that with SLi (4GB/s bidirectional on each PCIE 16X slot) you're already using all the HyperTransport space. So, I'm wondering, exactly how much more power do people expect to get from these cards. They have half the bandwidth of your CPU, so if your NB is your bottleneck, it's gonna throttle performence even more. The nice thing about AMD CPUs over Intel (flame wars, START!) is that the memory controller is integrated onto the CPU die, which means that the AMD CPU doesn't have to use the FSB (NB) to get to RAM, which means you could use the entire 8GB/s of HT for these purposes. So, if I want to spend $200 on a new card, how much extra performence would I get? Come on ATi, I'm talking a straight comparison.
Example: $200 card will get me the equiv. of a dual core 2.5Ghz 64bit CPU.
Will the CPU be able to access the superfast DDR3/4 of the video card? Or is that reserved for the video card's calculations, whether it be for gaming or processing.
For the love of all things good, please make this thing quiet!
ftp://ftp.research.microsoft.com/pub/tr/TR-2005-18 4.pdf
published last year.
SLI will let you have 4 monitors. All digital. All at dual-link resolutions.
The benefit comes in that the GPU is tightly connected to a bunch of fast RAM that isn't being competed over by the general purpose CPU(s).
So, you throw 128MB or such of data onto the GPU, and you can get it sorted several times faster than a regular CPU could do it. Presumably, more onboard memory could give even more of a win.
If you're not part of the solution, you're part of the precipitate.
I suggest... Tubes!
just like the internets... but watch out for that clogging effect!
I do hope you didn't just use the IP of your company. Learn to use library terminals. With gloves.
I thought the IA64 was supposed to bring optimizations into software.
I'd like to see a minimalistic OS ported to a GPU as well as a JVM or .NET CLR VM. OS level support for 'Run Thread on GPU' API call would be good.
Could we also see a GPU only computer that boots off the GPU bios chip, has a USB port for IO and does video out so that you don't even need a motherboard?