Wednesday, January 23rd 2019

Bulldozer Core-Count Debate Comes Back to Haunt AMD

AMD in 2012 launched the FX-8150, the "world's first 8-core desktop processor," or so it says on the literal tin. AMD achieved its core-count of 8 with an unconventional CPU core design. Its 8 cores are arranged in four sets of two cores each, called "modules." Each core has its own independent integer unit and L1 data cache, while the two cores share a majority of their components - the core's front-end, a branch-predictor, a 64 KB L1 code cache, a 2 MB L2 cache, but most importantly, an FPU. There was much debate across tech forums on what constitutes a CPU core.

Multiprocessor-aware operating systems had to be tweaked on how to properly address a "Bulldozer" processor. Their schedulers would initially treat "Bulldozer" cores as fully independent (as conventional logic would dictate), until AMD noticed multi-threaded application performance bottlenecks. Eventually, Windows and various *nix kernels received updates to their schedulers to treat each module as a core, and each core as an SMT unit (a logical processor). The FX-8350 is a 4-core/8-thread processor in the eyes of Windows 10, for example. These updates improved the processors' performance but not before consumers started noticing that their operating systems weren't reporting the correct core-count. In 2015, a class-action lawsuit was filed against AMD for false marketing of FX-series processors. The wheels of that lawsuit are finally moving, after a 12-member Jury is set up to examine what constitutes a CPU core, and whether an AMD FX-8000 or FX-9000 series processor can qualify as an 8-core chip.
US District Judge Haywood Gilliam of the District Court for the Northern District of California rejected AMD's claim that "a significant majority of" consumers understood what constitutes a CPU core, and that they had a fair idea of what they were buying when they bought AMD FX processors. AMD has two main options before it. The company can reach an agreement with the plaintiffs that could cost the company millions of Dollars in compensation; or fight it out in the Jury trial, by trying to prove to 12 members of the public (not necessarily from an IT background) what constitutes a CPU core and why "Bulldozer" qualifies as an 8-core silicon.

The plaintiffs and defendants each have a key technical argument. The plaintiffs could point out operating systems treating 8-core "Bulldozer" parts as 4-core/8-thread (i.e. each module as a core and each "core" as a logical processor); while the AMD could run multi-threaded floating-point benchmark tests to prove that a module cannot be simplified to the definition of a core. AMD's 2017 release of the "Zen" architecture sees a return to the conventional definition of a core, with each "Zen" core being as independent as an Intel "Skylake" core. We will keep an eye on this case.
Source: The Register
Add your own comment

369 Comments on Bulldozer Core-Count Debate Comes Back to Haunt AMD

#51
diatribe
xtreemchaosive gotta stick up for the old FX, ive been running a 8350 @4.8 in my image processing rig for about 6 years and its run lovely, i can count on one hand how many times its crashed over the years if i could remember:), if its a 4 or 8 core dont mean a shit to me all that matters is how well and fast it processes my astro images and runs photoshop and staxing programs. dont hate me im nice really in my old little way. charl.

here the ol girl if any one wonders what she looks like.

I'm not familiar with that case. Do you have any more well lit pictures?
Posted on Reply
#52
xtreemchaos
all I can remember of the name is "Loop" it has a glass panel that gos on the front but it cuts the air flow too much so ive never used it. charl.
Posted on Reply
#53
kapone32
I had a FX 8320 before I got Ryzen and every piece of software I used told me it was 8 cores. It was also faster than the 1090T (using 2 extra cores).
Posted on Reply
#54
Franzen4Real
Vya DomusBy the way has anyone filed a lawsuit yet on every GPU maker out there for marketing their products as having thousands of "cores" ?
Vya, you just found our golden parachute... let's get this rollin'!$!$
:toast:
Posted on Reply
#55
GoldenX
Is there any legal action about Intel and they stock heatsinks thermal throttling?
Posted on Reply
#56
thebluebumblebee
When Bulldozer came out, AMD expected the computing world to move in a (much) different direction. They took a gamble and lost. From July 2006:
Let's look at this long term, say five or so years, the design cycle of a modern CPU. As we've noted earlier, the X86 CPU is about to take a radical turn, and the designs you will see at the turn of the decade won't resemble anything you see now. What do we mean by that? Mini-cores and Larrabee.
If I understand the legal process correctly, this means that discovery will now take place, which means that AMD has to turn over their internal communications during this time. If it's found that there was concern raised about calling it an 8 core CPU, then that could be very damaging to AMD's argument.
Posted on Reply
#57
danbert2000
The problem is that AMD made a design that was just hyperthreading with an extra integer unit thrown in. So technically, it is more capable than just having two execution states for one execution engine (containing an FPU and IU), since two threads can technically run at the same time, but if both threads need the FPU, then it is basically back to a multithreaded single core.

I think they may have a case in that early processors didn't even have an FPU, and were still processors. So it is technically an eight core integer CPU, and a four core floating point CPU. So you technically have eight cores that could run at once. It will depend on how much a modern processor design matters, as AMD didn't include any caveats in their marketing for the FX series to indicate that it wasn't always going to run 8 threads simultaneously. And in my personal opinion it was not correct to call them 8 core processors. They should have just called them 4 module processors, or made clear it was 8 integer cores and would perform at half speed for FP math. I wouldn't be surprised if AMD loses. I don't consider them 8 core processors since they aren't 8 core all the time.

Maybe the most damning thing is that AMD now sells 8 core processors that actually do have the FPU and IU per core, and 4 core processors with SMT that are 4 core/8 thread. In a way, that's admitting that the FX core terminology was a load of shit the whole time.
Posted on Reply
#58
FordGT90Concept
"I go fast!1!11!1!"
Totally called it back in that old thread:
FordGT90ConceptI'd argue that the word "core" explicitly means independence to the public. To say otherwise, is to let AMD define the word in a way that is inconsistent with competitor offerings and even their own previous offerings.
Just needs to append "and current offerings" to it. :roll:
danbert2000The problem is that AMD made a design that was just hyperthreading with an extra integer unit thrown in. So technically, it is more capable than just having two execution states for one execution engine (containing an FPU and IU), since two threads can technically run at the same time, but if both threads need the FPU, then it is basically back to a multithreaded single core.

I think they may have a case in that early processors didn't even have an FPU, and were still processors. So it is technically an eight core integer CPU, and a four core floating point CPU. So you technically have eight cores that could run at once. It will depend on how much a modern processor design matters, as AMD didn't include any caveats in their marketing for the FX series to indicate that it wasn't always going to run 8 threads simultaneously. And in my personal opinion it was not correct to call them 8 core processors. They should have just called them 4 module processors, or made clear it was 8 integer cores and would perform at half speed for FP math. I wouldn't be surprised if AMD loses. I don't consider them 8 core processors since they aren't 8 core all the time.

Maybe the most damning thing is that AMD now sells 8 core processors that actually do have the FPU and IU per core, and 4 core processors with SMT that are 4 core/8 thread. In a way, that's admitting that the FX core terminology was a load of shit the whole time.
Exactly. In their engineering diagrams, they always prefaced "core" with "integer" so the eight were labeled as "integer core;" however, you look at the packaging and marketing material of the Bulldozer products, they say "core" exclusively. AMD was misleading consumers by intentionally omitting "integer."

I am in complete agreement that they should have called them 4 module processors. The public would have to learn and understand what module meant but module versus core is a very important distinction AMD choose not to make.
Posted on Reply
#59
Shambles1980
Just isnt 8 cores and never was lol..
See any of my old posts about the issue.
Posted on Reply
#60
FordGT90Concept
"I go fast!1!11!1!"
kapone32I had a FX 8320 before I got Ryzen and every piece of software I used told me it was 8 cores. It was also faster than the 1090T (using 2 extra cores).
Performance doesn't really matter. It's definition of words in the eyes of the public and whether or not AMD used words to describe their product in a way that was misleading to the public.

The public understand "core" as independent processors. That's not the case with AMD modules.
Posted on Reply
#61
Shambles1980
there just wasn't enough components that make a core for you to make 8 cores..
There were enough components to make 4 cores, and there were extra bits that worked at the same time.. Not all operations could work at the same time though.

If you ever tried to pull a bulldozer apart and make 8 individual cores, you would only be able to make 4 and have a bunch of left over parts.

to me that always was, and always will be why i cannot and could never call them 8 core.

and the worst thing is. AMD were the ones to try and specify what a "core" was when intel released the pentium D. Then they totally decided they didnt want to use that definition any more, and not only did they not want to use their definition they dint want to use any logical definition either.

i always called them modules. I just couldn't call them cores.

there were many a debate on these and other forums. and i genuinely didn't and still don't understand how any one can say they have 8 cores.
but i decided years ago it was better to just agree to disagree.

but in terms of a law case.
I think the most damning thing for amd is that they genuinely defined what they thought a core was when intel released the pentium d chips.
And because they did that, they honestly cant expect to win a court case where they say People should define it as something diferent to what they them selfs defined them to be.
Posted on Reply
#62
seronx
FordGT90ConceptThe public understand "core" as independent processors. That's not the case with AMD modules.
The public and industry understands a "core" as these components;
1. A Control Bus/Control Logic.
2. An Instruction Bus.
3. An Address/Data Bus which is usually connected to a Load/Store Unit.
4. A datapath, this the ALU/AGU.

The Bulldozer module has;
2 Retire Queues -> Instruction Bus.
2 Schedulers(etc componentry) -> Control Logic.
2 clusters of 2 ALU/2 AGLUs -> Superscalar datapath
2 Address/Data buses which interconnect to a Load/Store unit. -> Address/Data Bus
Thus,
2 Cores.

The Bulldozer module by industrial and educational definition is two real/processing/physical cores.

Front-end of the module <-- not part of the core.
FPU in the module <-- not part of the core.
Shared L2 cache unit in the module <-- not part of the core.

The cores in the Bulldozer module are as independent as any fully replicated microprocessor.
Posted on Reply
#63
Shambles1980
1st google result :
"Multi core CPUs have an FPU per core "

like i said best to just agree to disagree..
Posted on Reply
#64
seronx
Shambles19801st google result :
"Multi core CPUs have an FPU per core "

like i said best to just agree to disagree..
Lets say I buy an x86 processor. I vouch to have the FPU co-processor removed.

Do I have no cores?
or do I have one core?

Now, if I bought an x86 processor with two-cores. Then, also have the FPU co-processor removed.

Do I have no cores?
or do I have two cores?

Then, I bought a 128-core soft processor. Only the first 16-cores have FPUs.

Do I only have 16-cores?
or do I have 128-cores?
Posted on Reply
#65
Shambles1980
according to convention. its 1 fpu per core.. so that answers your question i think..
its not a matter of how you want to describe it.. as stated above earlier its about conventional naming.

i could have a house and not have a roof. sure i can call it a house and, but unless i stated that it had no roof when i sold you the thing.. guess what you could sue me.
Posted on Reply
#66
Melvis
So from what I just read Windows is the problem? not the CPU. We all know once they patched Windows the performance of the FX line went up alot! so wouldnt that make it that AMD is correct?
Posted on Reply
#67
Sindalis
If you go back to the beginning of x86. CPU's were primarily integer based. A typical CPU would offload FPU operations to a separate floating point processor.

It wasn't till much later, that a CPU package would have both the integer scheduler as well as the FPU as part of the same package, let alone same die.

The Bulldozer architecture was well, objectively terrible, but what software has to do to interact with it has nothing to do with what is or isn't a core.

A core can be simplified to how many integer units something has, FPU's are separate in x86 world. Given this, its an 8 core CPU. it just happens to have only 4 FPU co processors rather than 8 like other designs.

Ryzen goes back to pairing one for one because that is what found worked better, but there is nothing to say it has to be that way. It just is.
Posted on Reply
#68
FordGT90Concept
"I go fast!1!11!1!"
Cores share nothing other than memory subsystems (because memory is directly associated with communication). Try to split an AMD module and you'll end up with one functional thread and one thread that's waiting for a non-existent prefetcher. Module is therefore a core a in a traditional sense--an independent processor.

No one is saying Bulldozer doesn't have 8 "integer cores," because it does, but it only has 4 "cores" (independent processors).


The only analog to Bulldozer's design, really, is UltraSPARC T1 which has 8 execution cores and a separate floating point core.

The vital distinction is that those 8 execution cores share absolutely nothing with each other other than floating point instructions being outsourced.

Bulldozer and sons share much more than that.

In fact, each iteration of the design, AMD split more and more functions to improve performance. Gee, I wonder why? Maybe sharing so much stuff wasn't such a great idea after all?
MelvisSo from what I just read Windows is the problem? not the CPU. We all know once they patched Windows the performance of the FX line went up alot! so wouldnt that make it that AMD is correct?
No, it's AMD saying Bulldozer has "8 cores" and that declaration is misleading to the public. It's not that simple, and people that bought these processors are saying they were damaged because AMD mislead consumers into believing they got more than they did.
Posted on Reply
#69
Melvis
FordGT90ConceptNo, it's AMD calling saying Bulldozer has "8 cores" and that declaration is misleading to the public. It's not that simple, and people that bought these processors are saying they were damaged because AMD mislead consumers into believing they got more than they did.
Well it is an 8core, im pretty sure 2 cores per module times 4 = 8cores, its pretty simple maths and from what I have read they are bitching about how it shows up in Windows 8/10 that it comes up as a 4core 8 threaded CPU. Also lets go back a few yrs when the 8350 went against the i7 2600. If the FX was indeed a "4 core 8 threaded" CPU then there is no way in hell it would beat out a i7 2600 in multi threaded work loads but it did! ( i know because I own both) you would need 8 cores to beat said CPU even if the IPC was lower over all it was more powerful.
Posted on Reply
#70
FordGT90Concept
"I go fast!1!11!1!"
MelvisWell it is an 8core, im pretty sure 2 cores per module times 4 = 8cores, its pretty simple maths and from what I have read they are bitching about how it shows up in Windows 8/10 that it comes up as a 4core 8 threaded CPU. Also lets go back a few yrs when the 8350 went against the i7 2600. If the FX was indeed a "4 core 8 threaded" CPU then there is no way in hell it would beat out a i7 2600 in multi threaded work loads but it did! ( i know because I own both) you would need 8 cores to beat said CPU even if the IPC was lower over all it was more powerful.
Even on the newest iteration of Bulldozer, the module is a fetcher short of two cores. They are not independent, they can never be independent, therefore, a module for all intents and purposes is a core. Sure, it has extra transistors in there to allow it to simultaneous multithread but doesn't change the fact the two integer cores are not inseparable and therefore, not cores (even UltraSPARC T1 passes this test).

Again, performance is largely moot. This is about definitions.

Judging from the OP, the court has ruled in favor of the plaintiffs and against AMD; therefore, "modules" are "cores;" "integer cores" are not "cores." Only way that changes at this point is if AMD challenges the decision, which they really shouldn't because the disconnect between engineering ("integer core") and marketing ("core") is damning for them. False advertising could rope FTC into the lawsuit.
Posted on Reply
#71
Shambles1980
honestly been here done that, wore the t-shirt, you just have to agree to dissagree, you can (and i did in the past) dissect it and show all the pics and do all the back an forth, but no one ever changes their minds...
the ones who think its 8 cores will find a way to say it's 8. the ones of us who dont think its 8 cores just have to repeat the same things for years on end and never get any where..

agree to dissagree is the only way forward here.

p.s
you dont need a fpu for a cpu to work so i do get the argument.

I also think windows scheduling made them worse than they should be.. (it wouldnt move fpu calculations to a module that was not doing fpu calculations.) But thats not windows fault either. the cpu told it it had 8 cores, so windows sent a fpu calculation to core 1 and a diferent task to core 2, and whammo botle neck. had to wait for the fpu to finish 1st.

you can blame windows for it if you want but if windows had moved fpus to indepenant modules rather than "cores" you still end up in the situation of If you have 4 simultnious fpu calculations and 4 other tasks. You effectivly only have 4 cores able to do any processing because they are all tied up with fpu calcs, and nothing else can be done till they are finished.
And thats just 1 issue.

so even understanding the argument and only focusing on fpu's i still end up with only 4 processes able to run at 1ce.
Posted on Reply
#72
FordGT90Concept
"I go fast!1!11!1!"
Indeed, lest this thread turn into another 511 post thread like the last one. :laugh:
Posted on Reply
#73
cdawall
where the hell are my stars
FordGT90ConceptEven on the newest iteration of Bulldozer, the module is a fetcher short of two cores. They are not independent, they can never be independent, therefore, a module for all intents and purposes is a core. Sure, it has extra transistors in there to allow it to simultaneous multithread but doesn't change the fact the two integer cores are not inseparable and therefore, not cores (even UltraSPARC T1 passes this test).

Judging from the OP, the court has ruled in favor of the plaintiffs and against AMD; therefore, "modules" are "cores;" "integer cores" are not "cores." Only way that changes at this point is if AMD challenges the decision, which they really shouldn't because the disconnect between engineering ("integer core") and marketing ("core") is damning for them. False advertising could rope FTC into the lawsuit.
Which definition of a core says a core must have a fetcher per core? This is what a huge portion of the argument will live on.

Does each GPU "core" have a fetch? (this is me asking on that one I have not looked that hard into the design). If they do not does both AMD and nvidia need to pay out for misrepresenting the thousands of "cores" they claim a GPU has?

Right now AMD is betting on the original core design was one integer core was a core. FPU came later on, if anyone makes the argument for that then Intel and Motorola produced tons of processors that had zero cores.
Posted on Reply
#74
Shambles1980
gpu and cpu cores are VERY different. i really shouldnt have to say that here..

its like saying If all cars have to have 4 wheels, what about mtorcycles?? are they not motorized vehicles now??

p.s

i know bad annalogy but what the hell. i already used up more thinking time than i should on this discussion.
Posted on Reply
#75
Darmok N Jalad
Bulldozer was a response to Netburst, a frequency-happy, ALU-heavy architecture with a weak FPU. Problem is, Netburst failed and was taken behind the barn just as Bulldozer launched. AMD’s design was years in the making, when Intel was taking about 10GHz processors by 2011. Had we all been running Netburst-optimized architecture, there’s no telling what we’d be looking at. Instead, Intel pivoted to high-IPC Core and that made Bulldozer an unoptimized bust.

For what it’s worth, this isn’t new. The i486SX was a i486DX with the FPU disabled, and there was such a confusing thing as a Core 2 Solo. Either way, this lawsuit is pretty late to the party!
Posted on Reply
Add your own comment
Apr 16th, 2024 03:05 EDT change timezone

New Forum Posts

Popular Reviews

Controversial News Posts