AMD Quad Cores, Oh My
Lullabye_Muse writes "From engadget we learn that AMD has plans for putting 4 cores on one die by the time Apple has fully gone to Intel processors. Full story here. They say they could eventually have up to 32 cores with scalable technology, but most programs haven't even got the ability to hyperthread, so do we really need the extra cores?"
Hyperthread(ing) is a term for a CPU that has two sets of states but one execution unit.. shouldn't the article use the phrase multithread?
Only a few programs can use multiple processors/cores (CAD, Animation, Scientific). But just unloading some of the OS processes onto other cores leaves more power for each standard programs. (Limewire + Firefox + Xvid compression)
It's more an issue of programs taking advantage of multiple cores or multiple processors than the compiler. Using multiple cores means that a single program must either have multiple concurrent processes or multiple threads, you can't just magically compile that sort of thing in, IPC can be a complex beast. That, or you need to run multiple programs at the same time to take advantage of more than one core at a time.
Game! - Where the stick is mightier than the sword!
Microsoft has said several times that one CPU package == one CPU for the purposes of licencing. They said this for hyperthreading and dual core, both still count as only one CPU. Windows XP will show four CPUs on a dual Xeon system if hyperthreading is on, and it will run.
Alienware had one. Let me see if I can find it... I guess they do not have it anymore... but they do have P4 with Hyperthreading, and RAID 0 or 1... all in a laptop:
a -51m_7700/area-51m_7700_features_tec.aspx?SysCode= PC-LT-AREA51-M-7700&SubCode=SKU-DEFAULT#sub
http://www.alienware.com/product_detail_pages/Are
Politics, Life, and More on my Aspiring for the Future
The word "Hyperthreading" describes a specific hardware kludge by Intel to make a single-core CPU pretend it's dual-cored. Apps that utilize multiple CPUUs are called multithreaded. All you dorks parroting the article submitter and calling it "hyperthreading" are idiots.
If a job's not worth doing, it's not worth doing right.
...have a look at these slides of a technology presentation given last friday http://epscontest.com/presentations/05q2_analyst-d ay.htm?slide=1&a
Impressive. If they execute on all that, Intel will have to keep on playing catch up for the forseeable future.
Yes, Virginia, we can use mutli-core. I mean, we're all into SMP heavily in the non-desktop role (does anyone actually make a "server" that doesn't have SMP?)
There are two big things I love about the multi-core Opterons: They draw less power than equivalent SMP machines (acutally, quite a bit less), and they allow multiple "CPUs" to use the same memory controller. Nominally, the second isn't a big win, but it can be for practical purposes.
Opterons have dedicated memory channels on them, so a current dual-socket Opteron has two DISTINCT DIMM banks - that is, on a motherboard with 8 DIMM sockets, 4 are allocated to each CPU socket. So if you have only one CPU, you can only use 4 DIMM sockets. Since those 4 sockets are often configured as a single bank (i.e. they all have to be filled to work), you can't add another CPU to the system without buying more RAM. This is wasteful. But with a multi-core opteron, all on-chip cores share the same memory bank.
The jist of this is that it'll be easier to have High-Compute, lower RAM configurations than it currently is reasonable to do. There are a lot of tasks out there which it is really nice to have a modest amount of RAM (say 4GB), but with huge crunch. Currently, it's hard to buy a config to do that, since you generally either end up way over-paying for CPUs, a huge number of tiny DIMM chips (which sucks for future expansion), or a larger number of motherboards, which draws more power.
And, hey, they're not tooo bad in price. Sun's dual-core v40z is less than twice as expensive as their single-core v40z, and you save lots on power/cooling/space.
Overall, a nice win.
-Erik
There are always four sides to every story: your side, their side, the truth, and what really happened.
He shows demos and explains several driving forces:
An example of video analysis is demonstrated. You can get a stable image out of a cell phone, and get a much higher resolution to boot, simply by analyzing lots of images in sequence. Right now, it takes a lot of time to crank out the analysis. But the problem is parallelizable, and Intel thinks we'll have this sort of things in cell phones by 2015.
This is also the technology behind automatic construction of 3D from images. This is where you pull your cell phone out, walk around, waving it around the room, and get back a 3D model of the room.
People ask: "Do we really need all this computing power?" Yes, yes we do. There's plenty of stuff to do with it.
Scott talks about sitting in front of the computer, and not needing to log in, because the computer knows who you are by your face.
There's all kinds of stuff to do with it.
but most programs haven't even got the ability to hyperthread
How does a program "hyperthread"? Did you mean "thread"? but decide to use the former because it sounds cooler? Hyperthreading doesn't result any concurrent processing, it's a hardware scheme in with the processor's archictectural state is replicated in order to speed up context switching between threads. That's very different from replicating the whole CPU core.
You dont understand:
HYPERTHREADING =! MULTICORE.
These are 2 complete cpus+a crossbar switch on one die. No shareing of execution units/registers,no sharing of anything but the ram bandwith.
Amd dual core cpus are FASTER than 2 single core cpus in dual socket boards (with the exception of extremely bandwith demanding streaming applications) simply because of much faster on-die cache coherence communication.
A quad core cpu will most likely see more bandwith problems, but could (with ddr-2, ect) still be very well in the same class as a 4 single-core machine.
HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
SMP or multiple cores is (obviously) more than one real processor and one will see huge benefits with any application that is multithreaded as well as when running multiple processes. Single threaded processes should never have issues running on an SMP system, though there will be a small loss of speed due to the overhead of SMP (Dual 2 Ghz processors will probably run a single threaded process ~1% slower than a single 2 Ghz processor).
Game! - Where the stick is mightier than the sword!
Multiple CPU x86 boxes have been available for a long time -- I recall seeing Sequent boxes with lots of 386 cpus, for example. I'm typing this on a dual p3 700 right now ...
The vast majority of server applications will benefit from multiple cpus right now, as long as the box isn't already disk bound.
As for desktop boxes, two or more cpus means you can do two or more things at full speed. One application may not run faster with two cpus unless it's written to support it, but two seperate applications certainly will.
As for games, games could certainly benefit from multiple cpus. Now, most may not seperate different things into different threads that can run in different cpus, but this will change rather quickly if desktop boxes start regularly having more than one cpu ...
Part of what was neat about the BeBox was that they offered two cpus. They couldn't make the cpus faster, so they just gave you two of them ...
But don't try to tell us it's a waste of time. It most certainly isn't. And we don't need any need to materialize, or special software to be written -- we can use multi-cpu machines NOW.
There appears to have been an attempt at adding it (see GOMP), starting about 2 years ago, but it appears dead.
Given the multi-core trend at hand, it could really be useful to continue.
And if not OpenMP, then what? A high-level threading language or language extension is going to be necessary, and OpenMP
1) makes a good case for being the best solution to date, and
2) is open.
I thought SOI was IBM's patent which it shared with AMD-- if so, its not AMD's to license.
Synergies are basically awesome, and they're even better when you leverage them. -PA
The Cell's SPEs aren't really general purpose. They're limited to a 256KB local storage. In order to utilize main memory, they have to use explicit DMA operations. That drastically limits their usefulness for code that isn't explicitly written for Cell.
A deep unwavering belief is a sure sign you're missing something...
If only that were true for Intel's first gen dual-core. Intel "cheated" with their first gen and they truely are independent cores that do NOT share the L2 cache. I.e., they connect together via fsb just like two sepeerate cores would. The BIG advantage is that it's cheaper to buy the dual core chip rather than two seperate cores.
Intel does have plans to do the shared cache stuff like AMD, but they aren't there yet.
general purpose and vector processors are mutually exclusive.
... cause that's a small fraction of the jobs that people want to do with them. they are hardly in the dust , and for ages to come.
they aren't going to be running anything non-multimendia.
they are just 8(7 in reality) vector processing elements bolted onto a in-order ppc cpu. i don't know why it took billions of dollars to hack on a vector processor array onto a ppc cpu... well except to add the fine and dandy DRM...
try running your general purpose OS and applications solely on those vector processors. notice i don't use the bullshit nomenclature of SPE's and CELL.
amd and the other guy don't make cpus solely for multimedia
go back to your windproducing young male adolecsant "enthusiast" web site and leave us adults in peace.
Science : Proprietary , Knowledge : Open Source
One of the reasons that everyone is jumping on the multicore bandwagon is actually to lower power consumption. One dual core processor uses substantially less power than two single core processors and should also use less power than a single core processor running at twice the clock speed of the dual core (so same instructions/sec).
sheesh... even KDE doesn't get anywhere near 640 processes...
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
There is only one problem with your virtualized GPU, memory bandwidth.
Current CPU memory bandwidth is 3-6x orders of magnitude less then current GPU bandwidth. As long as main memory bandwidth stays well behind local onboard memory bandwidth on the videocard you simply cannot keep framerates high enough with FSAA and what have you which require enormous amounts of bandwidth. It doesn't matter how many cores you have if the pipes feeding the CPU data dont get bigger or you get more pipes to feed the cores themselves. CPU memory bandwidth has always lagged behind more modern GPU's with ~33 GB/s versus today's Intel and AMD systems with between 2.3GB/sec and ~5.2GB/sec