AMD Reveals Plans to Move Beyond the Core Race
J. Dzhugashvili writes "The Tech Report has caught wind of AMD's plans for processors over the coming years. Intel may be counting on cramming 'tens to hundreds' of cores in future CPUs, but AMD thinks the core race is just a repeat of the megahertz race that took place a few years ago. Instead, AMD is counting on Accelerated Processing Units, chips that mix and match general-purpose CPU cores with dedicated application processors for graphics and other tasks. In the meantime, AMD is cooking up some new desktop and mobile processors that it hopes will give Intel a run for its money."
Intel pushes the 'more power! faster!' philosophy while AMD just redesigns the architecture and it takes Intel a few years to catch up. Not much has changed since 2000.
"No, no, no, don't tug on that! You never know what it might be attached to."
That sounds great and all, and the AI that the article mentions really does sound interesting...but I am not clear on how a processing unit for extremely specialized tasks is going to translate into significant performance gains? Is the current generation of CPU not optimized for mathematic operations? This seems the most direct way to get the best all around performance, to me. Also, isn't it kind of sucky to make the processor only good at a few good things rather than fast in a diverse range of applications?
If anyone can give me any insight here...please speak up.
Thanks
- I post interesting things or short articles I write here
Censorship is obscene. Patriotism is bigotry. Faith is a vice. Slashdot 2.0 sucks.
Nvidia, please make a board for solving small instances NP-complete problems. Mainly max-clique and graph coloring :)
bash-2.04$
bash-2.04$yes "Don't you hate dialup connections?"| write USERNAME
Like if there were hypothetical competitive operating systems like Mac OSX, Linux (and the competition therein--Ubuntu, Fedora, etc), FreeBSD, OpenBSD, Solaris, etc?
This is expected news, if you step back objectively.
... which brings me to the POWER CPUs. Where I work, I can architect a solution in a variety of ways, and currently I choose to build p550s with POWER5s (later POWER6s) with all the nice dynamic partitioning and micro-partitioning that you cannot get (at that level) from anyone else. I wonder how comfortable IBM would be feeling if they saw AMD start to offer the same kinds of partitioning elements in their CPUs and architectures?
AMD loses and will continue to lose the manufacturing race with Intel. Intel will likely continue to develop smaller and smaller dies, and AMD could never hope to leapfrog them for lack of cash to do so. Of course, give Intel their due: they employ some pretty smart people as well.
Ultimately, making your CPU do more specialized tasking, or capable of programmatic specialized tasking (think FPGA) is the right kind of innovation for them. I would also look to see more RISC-based operations, and wouldn't be at all surprised if they went off in that direction in some way. If they do, IBM has something to worry about...
This is all good news for me.
-BA
Intel would be better off if they where to start useing hyper transport Even having two cores on same die with linked by hyper transport to each other with one link to the chip set is better then 2 cores shearing the FSB.
What is the point of having 32 cores with only one link to the chip
Even with the new Xeon's there still only one link per cpu and the cpus need to use it to get to ram
Amd chips right now have up to 3 newer ones will have up to 5 links
That sounds like the Amiga's way of doing things...over 20 years ago! I'm glad it's catching on, and I'm glad AMD is doing it; AMD usually gets things right, and makes their products a lot more affordable than Intel...
/vjl/
My Daily photo website.
Sounds like OS-dependency and driver hell to me. Imagine if you had an MP3 decoding co-processor, an MPEG-2 encoding co-processor, an Excel co-processor, a GCC co-processor... getting it to all work seamlessly would make today's 200MB video card drivers pale in comparison. So you install WMP version 42 and you have to check "use dedicated MP3 coprocessor" in Tools->Options? The whole point of CPUs is that they are general purpose.
I want to delete my account but Slashdot doesn't allow it.
infinitely parallel. Gaming on one hand, can be very much parallelized. With physics and an ever increasing amount of vertices to transform and AI to calculate, and in general crap to render.
A lot of other software is not. Such as: Office productivity, operating systems...(these can benefit, but ultimately they'll reach a limit).
The other question is, when you put hundreds of cores on a chip, how do you handle logistics of accessing cache? Or cache coherency?(not required) They it'll go up to 16 or so cores before they might run into some cache latency issues.
I think the other question is... how long till software catches up? We're at a point where hardware has been carrying software. Software is coded for the most part, pretty crapily(thanks to out of order cores). When are the software designers going to get with the program and leverage hardware more? I know hardware is very dynamic. But, now we're seeing hardware reach it's limit, and that multiple cores don't do anything unless some key multi-threaded apps are running.
Where will all the optimised code come from?
What will the cost be in making it all work 'just' for AMD?
How locked in would any code be?
Over the life of a project, will it be worth 'porting' code to AMD?
Domestic spying is now "Benign Information Gathering"
The most interesting thing for me was the mention of "Hybrid Graphics":It also looks like they're also extending the Fusion concept along Cell-like lines, with additional cores for non CPU or GPU purposes.
Their road map through 2008 only talks about up to quad core, although I assume this means CPU cores (I'm not sure that I would accept a CPU+GPU on a single die branded as a 'dual-core' chip). I think the Cell has eight cores, but due to yield issues not all are enabled in a PS3, and they are not all functionally equivalent. I don't know if this is the case for the Cell-based IBM blades, though.
The roadmap basically looks like periodic refreshing of the product line reducing power consumption with each iteration, which is where I think Intel have got a head-start on AMD. However, if AMD can sort out the yield issues, and compilers and developers begin to take advantage of these "associate" cores in Cell and future AMD architectures, then maybe Intel will have turned out to have missed a trick, as they did with x86-64.
"There is nothing nice about Steve Jobs and nothing evil about Bill Gates." - Chuck Peddle
20 people asking "Why would anyone need this?" :)
50 people replying "I encode video"
45 people replying "Games"
10 replying "Babes of course"
1 karma whore incapable of making a decent top 10 list.
Cwm, fjord-bank glyphs vext quiz
Of course, for the competition of the type that exists between Intel and AMD or AMD/Nvidia you need a common standard to compete with. If all apps ran on the same OS/GUI API then you'd have a true choice in operating systems (this one is more secure, this one faster, this one runs Word twice as fast and handles more DB load, etc). CPUs have x86, GPUs have DirectX/OpenGL, OSs need a standard application interface commmonly accepted by software developers. Otherwise you're comparing not just the OS but all the stuff that goes with it (skins, music players, etc etc etc)
Compaq used to sell those; they're called transputers and came as a PCI card with 4 FPGAs, some RAM, and a PowerPC CPU.
That would make NetBSD the most competetive operating system ever!
There are 1.1... kinds of people.
The two big obstacles to getting better performance from parallelization are that (1) some problems aren't parallelizable, and (2) programmers, languages, and development tools are still stuck in the world of non-parallel programming. So from that point of view, this might make more sense than simply making a computer with a gazillion identical, general-purpose CPUs.
On the other hand, I'd imagine that most of these processors would sit idle most of the time. For instance, right now I'm typing this slashdot post. If I had a video card with a fancy GPU (which I don't), it would still be drawing current, but sitting idle 99.99% of the time, since displaying characters on the screen as the user types is something that could be done back in the days of 1 MHz CPUs. Suppose I have a special-purpose physics processor. It's also drawing current right now, but not doing anything useful. Ditto for the speech-recognition processor, the artificial intelligence processor, the crypto processor, ...
There are also a lot of applications that don't lend themselves to either multiple general-purpose processors or multiple special-purpose CPUs. One example that comes to mind is compiling.
On a server, you're probably either I/O bound, or you're running a bunch of CGI scripts simultaneously, in which case multiple general-purpose processors are what you need.
For almost all desktop applications except gaming, performance is a software issue, not a hardware issue. I was word-processing in 1982 with a TRS-80, and it wasn't any less responsive than Abiword on my current computer. Since I'm not into gaming, my priorities would be (1) to have a CPU that draws a low amount of power, and (2) to have Linux do a better job of cooperating with my hardware on power management. I would also like to have parallized versions of certain software, but that's going to take a lot of work. For example, the most common CPU-heavy thing I do is compiling long books in LaTeX; a massively parallel version of LaTeX would be very cool, but I'm not holding my breath.
Find free books.
It's called POSIX, and everyone supports it except Windows.
I do have my doubts about Intel's "more cores than you can shake a stick at" approach. I can't see the use in more than a few full-speed cores. They all have to be able to get at instructions quickly or most will just spin their wheels so hundreds of cores are a big challenge in more than just a making them fit and operate together sense. How much can we parallelize before most of the cores are doing little to nothing because their caches are empty? For that matter, the average user doesn't usually utilize one CPU core fully. Even on Dual-core (including actual dual CPU) desktop machines both cores are rarely needed for a responsive computer.
Intel's standpoint seems to be that there's a world of data crunching lurking in all our computers (automated photo sorting, face recognition, and photo-realistic rendering), but none of these strike me as killer apps waiting to happen. All are things we could get used to and come to depend on, but I don't think any of them are being held back just because of our computing capacity, although photo-realistic rendering may be close. I'm pretty sure these aren't solved problems yet. Even if we were itching to do all this, one can only sort so many photos. It seems a bit wasteful to have all that power waiting around most of the time. Are we really nearly living in a world in which computing power is so plentiful that we can have that kind of ability even though we hardly ever use it?
On the other hand, AMD's approach seems to have more immediate application. Video/audio encoding and other parallel processes are things that many of us do do frequently. A couple hundred cores could be pressed into use for this, but that seems much less elegant than purpose-built hardware.
I don't know which approach will be best in the long-run. Probably both. It does seem to me that Intel is at best a few years to early to be hyping large numbers of cores.
I use Linux daily at work, but, I have no driving need to have a Linux box at home. I don't do that much worky stuff at home. I'm already burned out after doing it all day at work (and if I need to do more work, I can ssh in with Cygwin from home). And you really can't game on Linux. Yes, I'm sure some games are compatible with various Linuxes (the only one that comes to mind is Puzzle Pirates, and that's because it's written in Java), and I guess there's Windows emulation. But let's be honest. You're not gaming on Linux.
Mac, well. I can honestly never see myself owning one. If I was going to go another OS, it would be Linux for its flexibility. Apple just makes me nervous with all its proprietary stuff. I know lots of people own Macs and are happy with them. But the number of programs in general that are written for Mac is too tiny for me, games especially.
I have a box of junk in the corner with a bunch of games in it, and out of curiousity, I pulled them out while writing this, just to see which were compatible with Mac right out of the box... not with some lameass windows emulation that will run it at 1/10 speed, but actual Mac compatibility. Everquest (and about 7 expansions): Windows. Yeah, there was a Mac version a few years ago, where you get to play on your very own Mac server. Good luck with that. GTA: Vice City: Windows. Knights of the Old Republic: Windows. Dark Age of Camelot: Windows. There are plenty more in the closet. In fact, I'm pretty sure that the only one in my entire collection that is compatible with Mac right out of the box is World of Warcraft.
But I hate World of Warcraft.
Sorry, but, my home box is my entertainment. And Microsoft knows it too. They agressively pursue the gaming angle with developer tools. Now they've got XNA, with the goal being to write a game once and have it play on both xbox or windows with a minimum of development fuss.
They know where their dollars are coming from. They court the market, because they know geeks like me would flee if Linux could entertain me even 1/100th as much. So what I'm saying is no, no there is no Windows competition, not in my market.
My script don't crash! She crashes, you crashed her!
Windows supports POSIX: look here.
In any case you have a point in that Microsoft does not really encourages programming for POSIX-compliant OSs, but just for Windows.
The transputer was an invention of Inmos and they were interconnected little CPUs designed for parallelizable task. Transputers had an own language, Occam where for every block you had to specify if its instructions were to be executed in serial or parallel manner.
It was a rather fascinating system (especially for its time) but it has died on the market.
(Sorry for the off-topic ranting, but I programmed these during my studies and quite liked the concept)
Real life is overrated.