AMD Fusion To Add To x86 ISA
Giants2.0 writes "Ars Technica has a brief article detailing some of the prospects of AMD's attempt to fuse the CPU and GPU, including the fact that AMD's Fusion will modify the x86 ISA. From the article, 'To support CPU/GPU integration at either level of complexity (i.e. the modular core level or something deeper), AMD has already stated that they'll need to add a graphics-specific extension to the x86 ISA. Indeed, a future GPU-oriented ISA extension may form part of the reason for the company's recently announced "close to metal"TM (CTM) initiative.'"
Am I the only that thinks this is a bad idea? Either I change video cards more often than CPU's or CPU's more than graphics cards, but in either case I seldom want to upgrade both at the same time. Although I suppose I wouldn't mind a better GPU "for free" with my CPU, I suspect it won't be "for free".
If you need web hosting, you could do worse than here
ISA is definitely the future to interface a CPU and a GPU, but I keep hearing about this VLB technology that's even hotter!
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
the new string technology is getting hotter, maybe one should go out more often *g*
m10
'To support CPU/GPU integration at either level of complexity (i.e. the modular core level or something deeper), AMD has already stated that they'll need to add a graphics-specific extension to the x86 ISA.
x86 is a great multi-purpose, but the reason we're seeing greater and greater offload onto a GPU is because that's great at a specific task. So my question is, how long until we see widespread PPU (Physics processing unit) usage, and beyond that, a Physics extension to the x86 ISA? Or will we all just be computing on the grid at that point?
The theory of relativity doesn't work right in Arkansas.
Here: http://malfy.org/
Can it run Linux? OK JUST KIDDING!
No, the real hting lingering in mind is: Why? If I want to upgrade the GPU, now I have an additional cost because I have to upgrade the CPU as well and vice/versa. So, from economical perspective, is this the best way to go?
We're all hypocrites. We all have hidden parts, it's the contrast between them that make us more a hypocrite than others
Ok, add the GPU part .. call the ISA
..
.. the old ISA is obsolete
.. I just hope it ends up being cheap for the consumer (though I doubt it .. more like forced upgrade).
x86-64-G
Now what happens when they need to add physics
x86-64-G-P
Now what happens when they need to add extra multimedia capability..
x86-64-G-P-M
Ok, maybe we need more graphics
x86-64-2G-P-M
etc.
So it'll be a nightmare when you buy some software to make sure you have the right processor. Furthermore there'll be a silly AMD vs. Intel war on instruction sets all over again.
Well
Could ISA in this case mean Instruction Set Architecture?
Just wondering what this latest TLA (Three Letter Acronym) means.
A lot of people seem to be having issues working out why AMD is doing this
people are forgetting that they are not always the target market for computers (this isnt aimed at you if you upgrade one more than the other)
for example, what is easyer for your computer illiterate father to do, change one slot component, or install a graphics card , and a cpu.
it also allows for even smaller form computers
i will concede, that these gains are pretty small though, i cant see it being worth it
I guess I'm showing my age. As soon as I saw "ISA" I immediately thought, "Why the HELL are they thinking about bringing this back?
:(
The Overrated mod is for reversing inappropriate, positive mods, not for voicing disagreement with a post.
... maybe they should call it 3DNow or something?
I hereby place the above post in the public domain.
What happened to the RISC philosophy? Keep the hardware simple and let the compiler do the work.
No, lets create 1000 more instructions for graphics, 1000 for physics and 1000 more just for the heck of it.
Either I change video cards more often than CPU's or CPU's more than graphics cards, but in either case I seldom want to upgrade both at the same time.
I'm really guessing that anyone looking for high-performance 3d acceleration isn't going to be the target for this product. Video cards get a lot of high-performance by using insanely fast memory. My guess is this design would use the system memory just like integrated graphics controllers do now.
I'll venture that this GPU/CPU integration is really aimed at the low end market to cheaply increase graphics performance for Vista. The integrated graphics chips that exist now are really just 2d chips, and have little or none of the acceleration that Vista wants for all its eye-candy.
It's also possible that you could use both the Fusion processor and your graphics accelerated card at the same time (though I kind of doubt any game or graphics-subsystem is going to support that).
AccountKiller
ISA = Instruction Set Architecture
I don't think it means, what you think it means.
Current CPUs are 64-bit. Current GPUs go as high as 256-bit. Dunno about you, but if someone offered me a full 256-bit multi-threaded multi-core CPU, I, sure as hell, won't be updating it for a few years. (Yeah, yeah, I doubt that's what AMD are planning, but it would be truly cool if they did. Or hot. Or is that the heatsink?)
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
So what? does it reduce my energy bills? does it put food on my table?
What are the long term goals here - Bigger! Better! Faster!? Is that it? Is that what we're all about? Let's get some relevancy in please.
ISA means Instruction Set Architecture or if you prefer the definition of the x86 'assembly' language.
NASA, one of the most technologically advanced space programs in the world, has decided to use a "decades-old technology" for the new 21st century push for Mars rather than build a new, from scratch system. Tried and true methods must be the best, then. If this technique of using "old school" technologies works for NASA, it will work just as well for AMD!
This seems like the perfect solution for driving desktop capabilities to smaller devices (such as a PDA or portable game system). I realize they'd need to work out heat dissipation, but a low wattage fusion device seems like a viable solution for enabling quality 3d graphics on the next gen PSP or similar.
Huh? Don't mind me, I'm just the new guy.
I'm not sure if you're kidding here, but I'm pretty sure ISA here means Instruction Set Architecture and not Industry Standard Architecture
Help save the critically endangered Blue Iguana
Realistically Intel will have to implement these instructions on their processors for any programs to use them. Macs aside, who's going to write a program that only a tiny (but growing as old PCs are replaced) percentage of the market can run?
Hail Eris, full of mischief...
E pluribus sanguinem
Does the name Pavlov ring a bell?
I'm sorry. I can't help it.
Every time I see an article about AMD's "Fusion", I think
"Everyone knows that the power consumption of modern cpu's has gotten out of hand. Still, you gotta give AMD credit for having the guts to propose the obvious solution: An on chip fusion reactor"
The cycle of moving from a central processor to specialized ones and back has been seen before. Could this be a sign of this type of change? From the jargon file: http://www.outpost9.com/reference/jargon/jargon_18 .html#TAG411
Close to reference to metal ( eg, metal& )?
What kind of initiative is that?
In the course of every project, it will become necessary to shoot the scientists and begin production.
After they get all the mechanics figured out using a single die multi-core CPU/GPU chip they can quite easily split the CPU and GPU to seperate physical chips that are easy for us to upgrade at whatever pace.... Basically this could be there way of fleshing out Torrenza make profit sooner....
If, however, you're taking about an extension allowing the issuance of commands to a processor (which we are), then the acronym stands for Instruction Set Architecture.
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law
Multiple GPUs can coprocess via Crossfire or SLI, so would the CPU be able to suppliment an additional video card instead of replace it possibly?
First post = troll. Cleverly worded post designed to enrage others = flamebait.
If the video uses a documented instruction set, doesn't this imply that AMD/ATI CPU/GPU chips will be open source compatible? Shouldn't that be all the information needed (from the GPU perspective) to create a 3D hardware accelerated driver?
Can You Say Linux? I Knew That You Could.
On CPU graphics is always a bad idea. Inevitably you end up with something less than capable, and the only real advantage is for severly low cost systems to cost $49 less. Not a smooth move AMD, especially when you look at Nvidia's CUDA system that are taking the complete opposite approach. GPU as a CPU instead of GPU on a CPU.
I guess I should clarify. RISC "philosophy" lives on, but practicality has long been dead. Modern CPUs have RISC microcode with a x86 -> RISC translator in front. The translator adds a bit of overhead and uses up some silicone, but on the other hand CISC instructions are smaller, so you can fit more of them in a given amount of L1/L2 cache.
___
If you think big enough, you'll never have to do it.
As described by Ars Technica, the new NVIDIA G80 generation of GPUs are actually collections of general stream processors, a type of FPU. The GPU functionality is then programmed in software. The article from Ars Technica points out that "These threads could do anything from graphics and physics calculations to medical imaging or data visualization.". I assume the ATI GPU is moving in the same direction.
So what AMD is adding to x86-64 is probably not just a GPU, but a new powerful general purpose massively parallel FPU.
Will you be able to have a SLI like setup with a pci-e video card and the cpu-gpu?
This is the old integration-separation cycle continuing its course.
When I programmed PC graphics cards, they were basically dumb devices, just converting whatever was in memory to the signals needed to drive the monitor. The CPU did all the drawing work.
Then came the 2D accelerators, and later the 3D accelerators. The CPU sent them instructions about what to draw, and they did the drawing.
Now, we're seeing a move back to putting graphics inside the CPU.
The reason we're seeing these waves is, of course, that both approaches have advantages. Separating things leads to more modular and flexible solutions, and offers better performance, because special-purpose hardware can be faster than general-purpose hardware, and having two chips in parallel obviously allows more work to be done in the same amount of time. Integrating things, on the other hand, leads to lower power consumption and lower latencies, and avoids duplication of work (often, components that start out as special-purpose chips evolve into general purpose processors or something close).
Please correct me if I got my facts wrong.
Am I the only one who thinks that the fusion of CPU+GPU won't be used for the "integrated graphic stuff" but just for speeding-up f.p. operations?
Adding extensions to the ISA seems to be the only real newsworthy or contested issue, physically migrating the GPU is something that was bound to happen sooner or later anyways (remember AGP?, or the days when adapters hung off of the south bridge?). PCIe is already moving more in this direction too, so taking it a step further and placing it behind the on-chip crossbar switch just makes sense. Incidentally, this sort of thing has been going on in the embedded space for years, including related ISA extensions (some of the XScales for instance, which place the CPU/GPU and a separately pipeliend MMX2 block behind the crossbar switch).
The only interesting thing from this article seems to be that they're using a separate crossbar switch which HyperTransport hangs off of. This makes little sense, as if the crossbar switch was HyperTransport to begin with, they'd already have this model. There are already other non-x86 implementations already using HyperTransport as an on-chip crossbar switch _today_. With the ability to break out HT lanes from the package it's also possible to do fun things like interfacing a bank of RAM in another room with a cable and treat it as on-chip RAM (something done when doing the Linux bring-up on POWER5, while the external memory controller hadn't been completed yet).
It's nice to see the x86 space moving towards something more sensible and scalable. Perhaps Intel will finally wake up and get a clue.
The only point I can see in doing this is for more general use of the GPU than just rendering graphics. Graphics pipelines are pretty damn serial and the latency caused by putting the GPU on the north bridge is what, microseconds? Less? I don't see how this makes even the smallest difference in gameplay.
However, if you're using the GPU for something else like massive DFTs or physics simulations or any of the other cool stuff people are coming up with these days, where memory access patterns are more random, then I can see the benefit of reducing latency.
So why bother calling it a GPU? It's actually a fairly feature-rich complement to the traditional CPU, and putting it directly on the die seems only to reinforce that notion. Call it something else.
Now with 5 cores ! (and a seperate core for those tricky areas)
If you're a hard-core enthusiast, your upgrades may cost more.
Quack, quack.
now THAT's a tag!
I've been following GPGPU stuff for awhile now, casually at first but much more closely now with the AMD/ATI merger and the release of nVidea's G80 architecture. Both of these represent the first big steps toward GPGPU technology (buzzword: stream computing) becoming reality.
The initial approach I suspect from the Fusion effort will basically be an R600-based, entry-level GPU tacked onto the CPU die. I'd imagine that this would have 4-8 quads (GPU 4-wide SIMD functional unit) as standard. This would mostly be targetted at the IGP market for laptops and small and/or cheap desktops. Its likely that CTM will enable this additional horsepower to be used for general clculations, but its primary purpose will be to replace other IGP solutions.
A little further out I see the new functional units being woven into the fabric of the CPU itself. This model likens closely to having many 128-bit-wide extended SSE units, likely to have automatic scheduling of SIMD tasks (eg - tell the CPU to multiply 2 large float arrays and the CPU balances the workload across the functional units automatically.) A software driver will be able to utilize these units as a GPU, but the focus is now much more on computation. It functions as a GPU for low-end users, and suppliments high-end users and gamers with discreete video cards by taking on additional calculations such as physics. Physics will benefit being on the system bus (even though PCIe x16 is relatively fast) because the latancy will be lower, and because the structures typically used to perform physics calculations reside in system memory.
Even further out I see computers very much becoming small grid computers unto themselves, though software will take a long time to catch up to what the hardware will be capable of. I see nVidea's CUDA initiative as the first step in this direction - Provide a "sea of processors" view to the machine and allow tight integration into standard code withought placing the burden of balancing the workload onto the programmer (which nVidea's CUDA C compiler attempts to do.) nVidea's G80 architecture goes one further by migrating away from the vector-based architecture in favor of a scalar one - rather than 32 4-wide vector ALUs, they provide 128 scalar ALUs. Threading takes care of translating those n-wide calls into n seperate scalar calls. Most scientific code does not lend itself well to the vector model, though over the years it has been shoe-horned into vector-centric algorithms because it was neccesary to get addequate performance. Even graphics shaders are becoming less and less vector-centric, as nVidea research shows, because many effects (or portions there-of) are better suited to scalar code.
Eventually, I think this model will grow such that the CPU will be replaced by, to coin a phrase, something called a CCU (Central Coordination Unit) who's only real responibility is to route instructions to the correct execution units. Execution units will vary by type and number from system to system depending on what chips/boards you've plugged into your CCU expansion bus. The CCU will accept both scalar and broad-stroke (vector) instructions such as "multiply the elements of this array by that array and store the results in this other array" which will be broken down into individual elements and assigned to available execution units.
All of this IMHO of course.
It neatly sidesteps the fact that high-end GPUs are massive compared to a CPU core
Intel Core Duo CPU
ATI X1800 GPU
BUT, you'd also have to squeeze all the other microchips that are on a high-end graphics card board... I don't know if you'd be able to squish all that into a CPU sized area. And if you can't, you're just changing the form factor & moving the graphics card onto a faster bus.
Anyone have a better idea how you can put quality graphics into a CPU?
[Fuck Beta]
o0t!
rolls round and round, round and round
r nation.html
http://www.catb.org/jargon/html/W/wheel-of-reinca
I am more concerned with being able to select the best CPU/GPU combo, and not being stuck with a great CPU and lousy video card or vice versa. And by "lousy video card", I don't really mean poor performance so much as a lack of decent drivers. This is something that can change after buying the hardware; under Linux, the quality of the Nvidia drivers (which I currently hold my nose and use; last time I tried to use an ATI driver, they hadn't yet ported it to the version of X.org that I wanted to use) varies from release to release. It would be nice to at least have the option of replacing the video card rather than having to replace the whole system if driver quality takes a turn for the worst.
Most people associate these with their fixed functionality paths and the coding for the same.
That'd be right for the older games or the older hardware.
It'd not be right for the new hardware or the new games...
The new GPUs use programmable vertex and fragment shaders and the fixed functionality paths go
through an emulation of those paths in GLSL or HLSL. There's not much left that
isn't merely a simplified computer like a DSP is for signal processing- this is merely one that
is designed for graphics and similar operations instead.
The new games use their own shaders, etc. which is why GLSL is such a big deal and a tool to migrate
HLSL over is as much of one.
Who can say for certain that this doesn't make sense? I'm not going to venture a yes or no- because
I can see where they could pull it clean off and I can see some where it could let them fall flat on
their face.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
It used to be that CPUs didn't come with floating point units. You had to buy a 287 or 387 to go with your 286 or 386, and they weren't cheap either. I think we paid $400 for a 20 MHz 387 back in the early 90s. Around the end of the 386s' use in desktops, competitors to Intel (Weitek, Cyrix, some others I think) had produced 387 compatible chips that were faster and cheaper than Intel's. For the 486, Intel decided to integrate the floating point unit, which made it pretty much impossible to buy someone else's chip. Sure there were technical merits to that, but I'm sure that fact that it killed any possible competition in the FPU market wasn't lost on Intel's execs.
Trying to bundle products is nothing new. A company that makes a whole package doesn't like it when parts of the package can be bought from other companies. Instead of just competing for the whole package (and the few companies who can provide that), they need to compete for each individual part, and every company that can make any one of those parts. If AMD puts the GPU in the CPU, then it's pretty hard for nvidia get OEM's to include their GPU. Nvidia will have to build a CPU that's as good as AMD's, and that's not going to happen any time soon.
To me this sounds like some nforce-Mega-integration thing. I dont like it because when i think about it i think about: Drivers?! Maybe for the PS$ or something
When my Karma level reaches 0 I feel in piece with the Universe
I think people are forgetting the idea that the integrated "GPU" is going to be more like a programmable DSP than an actual graphics accelerator. We know the CPU is wonderful at computing integer math, but it's always been lacking in floating point. The modern GPU has become a floating point monster. The integration of this new element, including instructions to utilize it in native "stream processing" will likely cause a small leap forward in computing power. So, please, don't think of this as a replacement to your video card, put more like an evolution in the area of math-coprocessors.
To a noob, root is like a gay bar...and he's wearing assless chaps
Microsoft has a boatload of documentation, but that alone doesn't seem to make the EU happy enough
It would be the responsibility of the OpenGL rendering implementation to take advantage of a fused CPU/GPU core, much as the drivers took advantage of SSE implementations. The application should see no difference under OpenGL or DirectX unless it's using vendor-specific extensions.
What I find more interesting is the possibility of applying "graphics" operations to general data types, not just the presumed integral axis references. Imagine feeding currency into a bump-map transform to texture a global sales map, or temperature to texture a thermal relief map. Additional axis could be conveyed as color, and key references like "average" or "mean" could display as "sea level".
Date projections act the same as Z-buffer clipping/projections, except for the data type. Hardware accelerated time-based history data could define a "current" plane feeding the above visual displays, allowing you to literally scroll through years of data.
Algorithms used for motion detection in video processing, temporal cleaners, static removers, etc. could be very interesting for detecting and correcting data anomolies.
Data is data, regardless of whether the end result is pixels.
I do not fail; I succeed at finding out what does not work.
Naw, not showing your age, just exposure. I'm 20 and it was my first thought too. Admittedly though, my Dad's been in the industry for over 30yrs. We have *tons* of old machines with ISA and tons of ISA cards around
"goodbye and hello, as always" ~Prince Corwin, from Zelazny's Amber series
welcome our CPU/GPU fusing overlords.
I don't think so. The application can be linked against a single graphics library. The GL just swaps some function pointers when special hardware is available.
It seems like this problem must have been one that's been solved before. How do people write code for processors that have vector engines, like IBM's AltiVec or its Intel equivalent?
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
... do they think we're going to run binary blobs on our computers in order to use the CPU?
http://outcampaign.org/
I would find it cool if AMD/ATI decided to go for the hardware raytracing route.
Some impressive results (http://graphics.cs.uni-sb.de/~woop/rpu/rpu.html) have been achieved with a simple FPGA at 66 MHz. Imagine a dedicated (or several) ASIC(s) at much greater speed.
Sure, you wouldn't expect as high level graphics as todays top-end cards immediately, but I think it is the way to go forward.
What about this? ... one day as non-volatile memory based on carbon nanotubes becomes more prevalent and cheaper they'll slap that on the "CPU" die as well... Remember this company? Nantero. What you'll have in the mobile market is a CPU core, a GPU core, and probably a good 512MB non-volatile memory all in one die. Also, with stuff like the PPC chip PA Semi is working on, see here, we'll probably see pcie, sata, gigabit ethernet controllers built-in as well. So what do you have? ... quite the small system with low latency and power consumption. And for a bonus, you'll probably eventually have carbon-nanotube memory off-die as well in place of a hard drive. So those "yeah, that's fake" computers we see in movies that look like a medical tricorder with gigs of storage, will actually be real. Now, of course, this is years off, but I like the direction. I especially like the idea of 10's to 100's of gigs in a single carbon-nanotube based DIMM (or whatever is out then) or flash-drive replacement. Then we can finally shed hard drives, optical drives, and the like for purely non-mechanical devices (w/ the exception of course that tape-backups and such will likely still be present, but less so for the consumer market).
OK, time to stop dreaming and get back to work.
I believe it stands for Instruction Set Architecture, with x86 being an example of an ISA, not the old bus of which you are thinking.
The point is not to add a "video card" to the CPU. This Fusion would in no way prevent you from needing a graphics card. What it would do is add a general purpose DSP-style unit similar to a set of processing nodes in the new NVidia and ATI GPU implementations, capable of doing many graphics functions (vertex, pixel ops, etc.). You would still need to mate it to an output card which would have some of the less embarrasingly parallel operations of 3d graphics, framebuffers, 2D scaling acceleration, and output drivers.
In this fashion, using multi-socket boards you could scale your effective 3D processing power with additional or more dense chips that can be balanced between 3D, physics simulation, and other workloads.
This would be changing the way we do graphics and game design for enthusiasts, professionals, and home users alike.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
It may help you make cheap chips, but for performance, it sucks.
You can't feed an instruction cache fast enough to justify RISC in high performance computing. The richer the instruction set, the more branch prediction, the more out of order and speculative your execution, the better.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
They're putting CUDA _in_ the CPU. It's a CPU, plus massively parallel stream processing. No PCI-e bus to traverse. Shared L3 cache. Scalable with however many cores that platform supports...
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Big deal so the graphics card is basicly becoming the Math Coprocessor of the new millenium.
It might not be optimal for gamers, but then again, it might actually be optimal for gamers. Imagine changing your CPU/GPU but keeping your original motherboard and getting a big jump in performance.
Putting your petty concerns aside, I think that this CPU/GPU combo will revolutionize certain computing tasks. Currently grid computing is used to try to complete tasks that are computationally intensive. But the general purpose CPU is not as effective at much of this computation as is the GPU. GPUs are more than an order of magnitude faster than CPUs at certain iterative calculations. If the grid were populated with CPU/GPU multi-core systems, we'd be slamming research so fast it would produce an explosion of medical discoveries and development. With Alzheimers, cancer, and other age-related diseases looming, this sort of research will have a huge impact on both our physical as well as economic well being.
I, for one, welcome our new AMD CPU/GPU overlords. Let's hope ASUS is on the job and has a mobo ready when the time comes.
Best regards.
For me, the whole thing looks like AMD trying to develop a x86 answer to the CELL chip.
I think Fusion isn't intended to replace the graphics cards.
I think Fusion is specially intended to add more GPU-grade vector processing capabilities to the CPU. Just like the CELL, more power to calculate more complex things (physics, geometry, etc...) but, in the end, the texture shading is still done on a separate card. This looks specially obvious as the Fusion doesn't communicate with it's GPU part is if it were a separate GFX card. Instead the vector functions are just accessed with a additionnal intruction set, just like other coprocessing units on the die (SSE, MMX, 3DNow, FPU)
In fact this could be interesting to cut down bottlenecks.
- Such GPU-vectore-engine is near to ressources that it needs : Physics and later goemetry depends on data available to the main CPU. With a fast inerconnection between GPU and CPU on the same die, those things will run faster.
- After geometry processing, the scene data in the Fusion chip will look exactly like the scene will be once rendered by the GPU. Hidden surface removal and culling can be implemented at this step and thus less geometry data has to travel between the Fusion and the GPU on the GFX-board.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
I would like to point out eliminating dedicated video ram is a bad idea. I remember my atari 130XE would be somewhere around 30% faster when you disabled video because the cpu and video shared the same ram. A chip driving anything like a CRT will require constant access to memory. If you share ram with the cpu, then you will slow your computer down, especially if you like high resolutions and refresh rates. According to my calculations, 1600x1200 @ 100Hz with 24 bpp needs 576 MB/sec. Up the res to 3200x2400 and you need 2.3 GB/sec. I don't use resolutions this high, but from what I've seen, plenty of people do. Even with today's faster ram, it would be a siginificant drain.