AMD Betting Future On the GPGPU
arcticstoat writes with an interview in bit-tech "AMD's manager of Fusion software marketing Terry Makedon revealed that 'AMD as a company made a very, very big bet when it purchased ATI: that things like OpenCL will succeed. I mean, we're betting everything on it.' He also added: 'I'll give you the fact that we don't have any major applications at this point that are going to revolutionize the industry and make people think "oh, I must have this," granted, but we're working very hard on it. Like I said, it's a big bet for us, and it's a bet that we're certain about.'"
No? Oh, nevermind.
You are being MICROattacked, from various angles, in a SOFT manner.
for OpenCL, this sounds very dangerous. Dangerous as in "Remember this really cool company named SGI that made uber powerful and specialized computing platforms?"
Personally, I actually use things like OpenCL to do real time image processing (video motion analysis), but I don't know too many others in the industry that do, so I can't imagine their market is particularly large.
There must be some huge potential markets that just don't seem to come to mind for me...
Loading...
Oooo... think of how many bit coins their R&D could make with a properly optimized bit coin client. That must be why they are so sure it'll pay off.
I bet you drive a big car too, huh?
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
AMD famously overpaid by 250% for ATI, then delayed any fusion products for 2 years, then wrote off all of the overpayment (which they had been required to carry as a "goodwill" asset). At that point, they lost the money.
Luckily for them, ATI was still good at its job, and kept up with nVidia in video HW, so AMD owned what ATI was, and no more. But their gamble on the synergy was a total bust. It cracked their financial structure and forced them to sell off their manufacturing plants, which drastically reduced their possible profitability.
What they have finally produced, years later, is a synergy, but of subunits that are substandard. This is not AMD's best CPU and ATI's best GPU melded into one delicious silicon-peanut-butter cup of awesomeness. It's still very, very easy to beat the performance of the combination with discrete parts.
And instead of leading the industry into this brave new sector, AMD gave its competition a massive head-start. So it's behind on GPGPU, and will probably never get the lead back. Not that its marketing department has a right to admit that.
"betting everything" but not quite to the point of putting any real engineering effort into the software..
So will this make peoples web apps and office programs run noticeably better?
Because that is what the vast majority of computers are being used for even in the commercial sector. Computer hardware peaked for the average user around 2000. Now as the article points out we are sitting around waiting for better software*. AMD would be better off developing that software then pushing hardware for a need that mostly doesn't exist.
* Why is it that stuff like user agents and other forms of AI mostly disappeared from the scene in the 90's? We have the power now to run the things that everyone seemed to be working on back then.
========
CINC, 4th Penguin Legion
Here's my problem with AMD: I really really really want to support them by buying their products. However when I tried to upgrade my first AMD laptop, I found that their cust.care didn't want to help, their website is a shambles and i was left to do trial-and-error on eBay. Now I'm very happy with my Intel laptop. When the upgrade phase came, it went smoothly. Their website even has a helper page to find compatible CPUs for the chipset you currently have. How cool is that? As for ATI mobile gpu, I struggled to find a decent spec laptop that's got one, so I went with nVidia and apparently they have PhysX which ATI doesn't. Why make a pro-AMD person's life so hard, it is illogical.
The point of it is that most if not all computers made today have the potential for including OpenCL goodness, it doesn't mean that a particular user will need it, but it will be available for the developers to tap. It might be something that the user only uses from time to time like for video decoding/encoding, but if the hardware is already capable of handling a bit of that with minor design adjustments there's little reason not to offer it.
Plus, 3D accelerators used to be just for games, and since pretty much all computers now have one, it's moved into other areas like the desktop (For better or for worse) and CUDA.
There must be some huge potential markets that just don't seem to come to mind for me...
HPC/number crunching
GPUs basically are little supercomputers on a chip, so the transfer of codes is usually not that difficult.
nvidia's been pushing GPGPU for a few years now. CUDA works and is at least somewhat mature. CUDA and OpenCL came about by backing from nVidia. G80 and Fermi architectures are better at GPGPU programs than ATI's GPU architecture. To the credit of ATI, their silicon and compiler are better optimized for 3D than nvidia, but not for GPGPU.
Mathematica 8 can use OpenCL (and CUDA) I think the new MATLAB can, too.
My Other Computer Is A Data General Nova III.
Make it abundently clear what you need to start development on this platform. Will it work on all new computers or just a rare AMD chipset and my code is worthless on all other machines.
Maybe they're betting on governments buying video surveillance processing equipment...
Remember to maintain your supply of
solely based on their mediocre driver support.
OpenCL is not GPU or video specific. Somehow, someone has to figure a good standardized way to develop and run massively concurrent software, preferably based on an open standard. I think AMD is onto something. Maybe you are not seeing the "huge potential market" because of the constrained way you are thinking about computing. Of course, at first, the case scenarios are going to be specialized and limited. But this is not necessarily because of intrinsic limits of the approach; maybe it is that all of this is new, and we need some time to understand its full potential. Personally, I see this development as a very positive thing.
Most of the corporate/government money for that is going into FPGA boxes that sit between the camera (or in the camera) and the network connection.
Loading...
a computer is becoming something you carry everywhere and use almost everywhere. the PC/mac is something most people will keep off 95% of the time and use a few times a week
Intel is moving the gpu back into the processor with with sandy bridge. AMD counters by moving the cpu into gpu.
I have a great tip for Terry, ,with just a little support this renderer could work on openCL.
invest a little money in blender foundation: http://blender.org .
They are working on new renderer based on CUDA
Existence of a free and open source openCL renderer of professional quality would force closed source developers to develop GPU based renderers as well or lose customers.
You can even invest in secret , there are other sustantial supporters of the blender foundation whose identity is not given.
The Cycles renderer F.A.Q.
http://dingto.org/?p=157
Oblig: Bitcoin Farming!
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
As can Postgresql using pgopencl.
Get Adobe, and industry standard graphics, video editing software, game, companies to use this technology not to forget computational programs, give out the code and list of new functions so it can be implemented in an update or fully integrated in their next verson. I'm hoping they're working with other company's software developers on this, while developing this chip.
Anyone else notice every Bitcoin reference is by a Anonymous Coward? SPAM SPAM SPAM SPAM
my karma will be here long after I'm gone
Personally, I actually use things like OpenCL to do real time image processing (video motion analysis), but I don't know too many others in the industry that do, so I can't imagine their market is particularly large.
In the fusion case this is actually very interesting. When you're running a pci-express attached card (Not sure about IGP), you get massive latency in the transfer.
Now, with the gpu integrated into the cpu, perhaps it's possible to utilize it almost like a normal vector unit, where you could swap data between cpu and gpu effortlessly. OpenCL isn't really designed to take advantage of this sort of environment, but even then, the lower latencies should give an edge.
If AMD eventually manages to combine a powerful cpu with a midrange+ gpu, it will be an interesting beast, especially if swapping data between the units is made painless.
PhysX is proprietary, it was developed by nVidia precisely for this reason, to make it difficult for the competition to compete. It's been integrated into CUDA which is an nVidia only technology meaning that even if AMD wanted to integrate it they couldn't without paying a lot of money in licensing and architectural changes to their product line.
AMD are far from the only company to make this bet. For one, the bet is backed by Apple, who are the creators of OpenCL. Nvidia have a GPU computing SDK with full support for OpenCL for all major platforms. Even Intel has just recently provided Linux drivers for OpenCL, and have supported windows for a while. ARM will have an implementation soon for their Mali GPU architecture.
I use OpenCL for nonlinear wave equations. There may only be a few OpenCL developers at the moment, but with articles like this, the community will only grow larger. Anybody else out there? What do you use it for?
The primary bitcoin miner proper IS actually optimized for ATI GPUs. In fact, it's to the point where if you're not using quite a large number of ATI GPUs in some kind of cluster, you're SOL for ever successfully mining a block.
Until relatively recently, it's always bugged me that there's been these incredible number crunching processors, but that they've been mostly locked away due to the focus on one subset of graphics (rasterization), rather than an all-encompassing generic style which would allow ray-tracing, particle interactions, and many other unique, weird and wonderful styles, as well as many amazing applications which couldn't otherwise exist.
Finally, that's beginning to change with projects like OpenCL, CUDA, even GPU coding for .NET (GPU.NET). In the future, it will be better still. GPUs still can't multitask, so code kernels longer than a frame or two tend to lock up the display while they're being processed. This means you have to chop up your code into chunks (that's okay for games, but really restricts some of the things you can do easily). That should change soon (at least Nvidia are on the case). Additionally, the cache size is increasing and much more automatic than it used to be. Things can only get better.
Why OpalCalc is the best Windows calc
I don't think he means OpenCl specifically. OpenCl is a tool that connects you to GPU hardware. GPU hardware is designed for a different problem than the CPU, so they have different performance characteristics, in the not too distant future heterogenous multi core chips that do both the CPU and GPU calculations of today will be mainstream, and there will general purpose computing tools (which OpenCl is a relatively early generation of, along with CUDA) to access that hardware.
While I don't agree with the idea that this is the entire future, it's certainly part of it. Right now you can have 1200mm^2 of top tier parts in a computer, roughly split half and half CPU/GPU - but not every machine needs that, and it's hard to cool much more than that. So long as there's a market which maximizes performance and uses all of that, CPU/GPU integration will not be total. But there will be, especially in mobile and not top end machines 'enough' performance in 600-800 mm^2 of space, which can be a single IC package which will be a combined CPU-GPU.
It is, I suppose, a bit like the integration of the math co-processor into the CPU a decade ago. GPU's are basically just really big co-processors, and eventually all that streaming, floating point mathy stuff will belong in the CPU. That transition doesn't even have to be painful, a 'cheap' fusion product could be 4 cpu cores and 4 GPU cores, whereas an expensive product might be a 8 core CPU in one package, and 8 cores of GPU power on a separate card, but otherwise the same parts (with the same programming API). The unified memory will eventually obsolete the dedicated GPU probably, but GPU RAM is designed for streaming, in order operations, whereas CPU ram is for out of order random memory block grabs, ram that does either in order or out of order equally well would solve that problem (or as long as it does it well enough), but architecturally I would have GPU ram as a *copy* of the piece of memory that the gpu portion of a fusion part will talk to.
As to what the huge market is: OpenCL gives you easier access to the whole rendering subsystem for non rendering purposes. So your 'killer' apps, are laptops, tablets, mobile phones, low powered desktops, really, anything anyone does any sort of 3D on (games, windows 7, that sort of thing), so basically everything, all your drawing tools.
The strategy is poorly articulated with OpenCl, but I see where they're going. I'm not sure what Intel is doing in this direction though, which will probably be the deciding factor, and nVIDIA, rather than positioning for a buyout (by Intel), seems to be ready to jump ship to SoC/ARM type products. Intel doesn't seem to have the GPU know how to make a good combined product, but they can certainly try and fix that.
I'll give you the fact that we don't have any major applications at this point that are going to revolutionize the industry and make people think "oh, I must have this"
Translation: We don't really understand how to market this, or the size of the market for this.
it's a big bet for us, and it's a bet that we're certain about.
Translation: We don't have any other promising R&D in the pipeline at the moment so if this fails to play out well for us we will still be number 2 but no longer a top line mark, it will be back to the K6 days for us.
Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
Why do we still need to buy "graphics" hardware to use GPGPU-like acceleration? Why not extend our general notion of the cpu?
It makes me feel rather silly to be buying a graphics card just to improve the performance of some non-graphics-related computation.
If Pandora's box is destined to be opened, *I* want to be the one to open it.
Correct. In fact, I sell the very same thing to the very same people.
Not really. It's analogous to a drawing. You can put your name in the hat as many times as you want, but the person who put their name in once could get lucky and have their name drawn over the person who has their name in 1000 times.
"Frequently wrong, never in doubt."
You can use GPGPU for many applications: image processing, artificial intelligence, chemical and mechanical simulations...
GPUs are good tools for high end apps and can increase the performance in an order of 50x in comparison with a single CPU.
The main problem is that nVidia dominates the market and is pushing its own technology (CUDA). Fortunately nVidia has OpenCL drivers but CUDA is the technology that is used in the industry (Matlab, MAPLE, Mathematica...)
They are betting everything on GPGPU? Really? Ugh. If I had AMD stock, this would be the time to sell it.
I don't believe you understand OpenCL's application domain, as you insinuate that it only applies to specialized use case scenarios. Even if you choose to ignore how widespread OpenCL is in domains such as games, you always have multimedia and graphics processing. Adding to this, there are countless people all around the world who desperately seek a "supercomputer in a box" such as what you can get if you are suddenly able to use graphics cards for this. I happen to be one of these people who desperately want to get OpenCL off the ground and into our daily life, mainly because I develop FEM software and all the extra processing power is desperately needed for every application, particularly nonlinear analysis. If OpenCL doesn't fly then people like me are forced to deal with costly, specialized solutions, which means that only people who can afford a supercomputer can have that. If it flies then we can have supercomputers as easy as buying a new graphics card. And that's trully excellent.
Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
The horizontal pitch I can imagine making for a low power, mediocre processor+GPU combination is that if we're all gathering a lot more data all the time on the go, being able to easily process all that data (for filtering/compression) at the collection point is advantageous. The only other one I can think of right now is that I'd love an even more underpowered (CPU-wise) version of this for a silent home media server.
There are a fair few vertical markets that push the high performance parallel envelope that can use the GPU capability, but Fusion doesn't seem to fit those markets and even the sum of the verticals doesn't appear very horizontal to my untrained eye. E.g. there are high value non-video uses in finance and oil. See Maxeler: http://www.maxeler.com/content/frontpage/
I've developed applications (for PrimeGrid.com) for both nVIDIA CUDA and AMD OpenCL. The thing about GPGPU is that you have to write very close to the hardware to get any reasonable speed increases. CUDA lets you do that. But OpenCL is practically CUDA running on AMD; not close to the hardware at all.
By all rights, my application should be faster on AMD cards. It's embarassingly parallel and has a fairly simple inner loop - albeit doing 64-bit math. If I could write it on AMD's close-to-metal language, Stream, I'm sure it would be. But while nVIDIA offered nice documentation and an emulator for CUDA, AMD didn't for Stream, and only recently did for OpenCL. nVIDIA's since removed their emulator, and since they (shrewdly) don't let one machine run both brands of cards together, I'm mainly aiming at CUDA now.
If AMD had come up with a C-like, close-to-metal language, with good documentation and preferably an emulator, they could have run circles around CUDA. Maybe they still can; but I doubt it.
(T>t && O(n)--) == sqrt(666)
Please AMD read ALL the comments on this page even those with a score of 0 or -1...
If you're comparing CPU mining to a cluster of ATI GPUs it's more like having 1 ticket in versus 20,000. Sure you still have a chance, it's just extremely extremely small.
SGI's computer systems weren't "uber powerful and specialized" in the late 90's. They had largely lost the commercial UNIX market to DEC and Sun by then, and were getting eaten alive in technical computing by HPPA. This continued right up until the demise of SGI MIPS.
What they had going for them was NUMAlink-induced scale-up capacity, which they still have in their Itanium and x64 systems.
Look at the openCL link from article. everyone have a hand in that cookiejar.
There must be some huge potential markets that just don't seem to come to mind for me...
Spreadsheets and user interface.
There must be some huge potential markets that just don't seem to come to mind for me...
High-performance computing. It's the like the vector computers of the late '70's-early '80s all over again, plus now you have the comfort of high-level code running on a "usual" CPU and only the computationally intensive tasks offloaded to the GPU. The basic algorithms (FFTs, linear algebra) have already been ported.
Every end has half a stick.
I was also thinking about the analogy of the GPU to math co-processor. But I think the future is kind of the reverse where processor packages are different specialized and generic architectures mixed and matched both on a single chip and motherboards that evolve into back planes. Expansion slots are more or less becoming processing slots. Sure you can plug peripherals into them but by and large peripherals have all gone external. A desktop motherboard is becoming little more than a backplane with an integrated processing card.
Processors more efficient at various strategies to speed up certain types of math for various special applications are needed more and more. Processors speed is not increasing like it was so we need to use transistors more efficiently. Specialized 3D computation was one way we needed to go the next I think will be variations on neutral networks for applications of fuzzy logic and pattern recognition. After that who knows, maybe go retro with analog signal processors. Maybe an FPGA processing card.
Somehow, someone has to figure a good standardized way to develop and run massively concurrent software, preferably based on an open standard.
Someone already has. There's even an accelerator subcommittee working to add nice compiler directives so we can do away with the ugly low-level OpenCL and CUDA programming. Fusion will not work without a decent programming model and associated tools.
SGI had and maintained its niche market for workstation graphics processing, especially in FX houses. They never were competitors in the data centers, and for a long time, nothing really stood up agains IRIX.
What killed SGI was an explosion in capabilities from the x86 market. Suddenly a maxed-out $3-4K machine from Dell with a decent NVidia or AMD card could beat the pants off of the $10K + machines SGI was making. In-house IRIX apps were ported to Linux or BSD, Windows apps skyrocketed in popularity, and SGI was done for.
I'm out of my mind right now, but feel free to leave a message.....
Last time I checked, you also needed to link against vendor-specific libraries, meaning one library for AMD, one for NVIDIA, and one for Intel. This makes cross-platform OpenCL deployment a bitch. Unless and until these vendors get together and settle on an ICD standard, I don't see OpenCL going mainstream.
"In prison you just have to shut your eyes and take it. Here you have to shut your eyes and give it."
The unified memory will eventually obsolete the dedicated GPU probably,but GPU RAM is designed for streaming, in order operations, whereas CPU ram is for out of order random memory block grabs, ram that does either in order or out of order equally well would solve that problem (or as long as it does it well enough), but architecturally I would have GPU ram as a *copy* of the piece of memory that the gpu portion of a fusion part will talk to.
Reminds me of back in the day. Changing the location of video RAM by changing registers. I don't remember it being called 'unified' memory or whatever, and these were old ass computers I'm talking about, but I remember doing some neat tricks with that...
Seriously, on what do you base this? The fact that you personally are a cellphone junkie?
Sorry man, I've seen no evidence PCs are dying at all. The seem to be doing quite well.
In fact, looking at history, I am going to predict they will continue to sell at or above current levels indefinitely. Why? Because that is what's happened with other computers.
Mainframes are not dead. In fact, there are more mainframes in use now then back when the only computers were mainframes. They are completely dwarfed in number by desktops and laptops, of course, but they are still made, used and sold. That is what IBM's zSeries are. They develop processors, hardware, OS, the whole 9 yards all for mainframe computing.
Same shit with desktops when laptops came out. Laptops are very popular, but desktops have not dropped in popularity. Some people have only a laptop, others have a laptop and a desktop, and so on. The laptop hasn't killed the desktop.
I think this will continue. Yes, smartphones are going to eclipse laptops in terms of numbers, if they haven't already. However that doesn't mean people will throw away their laptops. Both markets will exist.
The people who think everything will converge on a smartphone for all people haven't actually tried it, or thought through all the problems you face. What's more, they ignore that people are willing to pay for convenience. They will buy multiple devices that have the same overall function when said devices make certain things easier.
For example I own no less than 6 food heating devices: A stove/oven, a microwave, a toaster, a crockpot, a rice cooker, and a bread maker. All have the same primary function: cook food. What's more, I really don't need any of them but the stove/oven. There is nothing I can make in any of the others I can't make in it. So why own them? Convenience. The rice cooker does a much better job easily making good sticky rice than a pot on the stove does. It is worth it to me.
You could liken the stove/oven to a desktop computer. Powerful, does everything, but can be a pain for some things. You could liken the microwave to a laptop or smartphone: Designed to be general purpose, but not as capable overall as the oven, convenient, but not the be-all, end-all. The rice cooker or breadmaker could be likened to a Blu-ray player or the like: A device that only does one function but does it very well.
So sorry, I don't think you are right. I have a smartphone, a new high end one, and I'm not planning on getting rid of my laptop. And I have a nice high end laptop and I'm not planning on getting rid of my desktop. The university I work at has lots of desktops and servers, but we aren't planning on getting rid of our mainframe, and so on.
The GRAM vs normal CPU RAM brings up an intresting point. Should we have mobos that offer slot(s) for GRAM for those users who have an APU (Still don't like that name but I guess I need to get over it.) and want RAM that works best for that? Or is there a technical reason I'm not seeing making that type of setup redudant/or such.
This is offset by the fact that ATI generally costs about 10-15% less for the same speed.
PhysX is proprietary, it was developed by nVidia precisely for this reason
Nope. PhysX was developed by Ageia.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Well, everybody tried Bob, Clippy, 'desktop search', Beagle and others and figured out that it is a useless waste of computer cycles with no benefit to the user...
Right now those 'fusion' type products are pretty terrible, I'm not sure decent RAM would be enough to save them, at least if you want decent gaming performance. Also, once you stick the CPU and GPU together you can pipe data directly from one to the other, so the RAM side of things probably changes a bit, but I'm not sure how. I've migrated to AI temporarily from the world of GPGPU so I'm not fully up on how, in detail, they need to talk to each other.
AMD may be betting the farm on a strategy that involves buying more expensive memory, that can, say, do both fast in order and fast out of order reads. Even if that's a 50% increase in price (on the RAM) you're still saving big on the GPU side of things, and they might just figure it's a problem technology will pretty easily solve fairly soon. They aren't really all in yet (in terms of products on shelves), so this might be a 4 years from now sort of problem, when the hardware landscape may be very different than today, I'm not sure, and right now that RAM wouldn't get you much, and there would be no reason to manufacture in volume, so no one would use it.
I could certainly see a future of CPU cores, GPU cores, FPGA's etc. That would make programming *very* interesting for high performance applications.
Just like with 3D Now, SSE, x64 and all the other modifications that CPUs have had most programmers won't do anything special to take advantage of the GPU. Libraries, either compiled in or shared at runtime, will be where GPUs get used. For example we have crypto APIs that automatically use hardware AES support on CPUs that have it, and even dedicated FPGAs.
At the moment one of the biggest issues is the amount of time it takes to set up tasks for the GPU to perform. The data has to get from main RAM to video RAM, the GPU's resources allocated, a GPU program compiled on the fly (because it is specific to each GPU, just like pixel shaders) and then once the code has run the same in reverse. There is a lot of overhead that it looks like AMD wants to reduce.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
from TFA: "Like I said, it's a big bet for us, and it's a bet that we're certain about."
So, am I the only one who finds this a bit fishy?
WiMAX and cell phone tower digital signal processing.
I know tobacco is bad for you, so I smoke weed with crack.
You're right almost on everything but... the math coprocessor integration didn't happened a decade ago, more like two decades ago. It seems you're old, should we get off your lawn?
That problem won't go away that easily. There is a fundamental reason why RAM nowadays is faster for sequential operations, and that reason isn't going away without a major technological reakthrough.
Rethinking email