Friday, November 6th 2015

AMD Dragged to Court over Core Count on "Bulldozer"

This had to happen eventually. AMD has been dragged to court over misrepresentation of its CPU core count in its "Bulldozer" architecture. Tony Dickey, representing himself in the U.S. District Court for the Northern District of California, accused AMD of falsely advertising the core count in its latest CPUs, and contended that because of they way they're physically structured, AMD's 8-core "Bulldozer" chips really only have four cores.

The lawsuit alleges that Bulldozer processors were designed by stripping away components from two cores and combining what was left to make a single "module." In doing so, however, the cores no longer work independently. Due to this, AMD Bulldozer cannot perform eight instructions simultaneously and independently as claimed, or the way a true 8-core CPU would. Dickey is suing for damages, including statutory and punitive damages, litigation expenses, pre- and post-judgment interest, as well as other injunctive and declaratory relief as is deemed reasonable.
Source: LegalNewsOnline
Add your own comment

511 Comments on AMD Dragged to Court over Core Count on "Bulldozer"

#26
Aquinus
Resident Wat-man
FordGT90ConceptNot today they can't. You couldn't even open a JPEG image without an FPU.

Well, I suppose you technically could if you multiplied all of the floats by several million and divided to convert back. Rounding errors would be aplenty and performance would be poor by comparison. Everything that decodes it would also need special libraries for a non-IEEE754-compliant processor.


FYI, IEEE 754 was defined in 1985, the same year that 80386 debuted. Intel didn't have the FPU hardware available yet to process IEEE 754. 80486DX was the first processor to be IEEE 754 compliant. Because of IEEE 754, JPEG was made possible and created in 1987.
You do realize that integer cores can do floating point math and that having an FPU is not a prerequisite to do floating point math. Yes, it's less efficient because it requires several more cycles because of the number of uOps involved but, that's how it used to be done before there was a dedicated FPU. The FPU simply made floating point math faster. That's my point.
Posted on Reply
#27
john_
FourtyTwoIt matches a 4 core CPU with hyper-threading, not an 8 core.
So? Performance has nothing to do here. If that was the case then anyone could sue Intel for the performance of a quad core Atom compared to a quad core Haswell. Not to mention ARM cores and how far behind they are in IPC.
Posted on Reply
#28
john_
FordGT90ConceptNot today they can't. You couldn't even open a JPEG image without an FPU.
I was opening JPEG files on my Atari STe a few millenniums ago and that didn't had an FPU. The Motorola 68000 didn't had an FPU. You just decode JPEG in software, while... making dinner.
Posted on Reply
#29
FordGT90Concept
"I go fast!1!11!1!"
AquinusYou do realize that integer cores can do floating point math and that having an FPU is not a prerequisite to do floating point math. Yes, it's less efficient because it requires several more cycles because of the number of uOps involved but, that's how it used to be done before there was a dedicated FPU. The FPU simply made floating point math faster. That's my point.
My point is that FPU has been a staple of x86 since 1989...which we aren't even using today. AMD64 (2003) instruction (which Bulldozer uses) set requires an FPU for processing SSE instructions. AMD took the cheap route by sharing FPU resources for each physical core ("core" defined as having one FPU and two distinct ALUs).

Ever since Athlon X2, "cores" have been very clearly defined as being complete processors on the same package. Bulldozer does not fit AMD's own definition of a 8-core. It's a 4-core with hybridized symmetrical multithreading.
john_I was opening JPEG files on my Atari STe a few millenniums ago and that didn't had an FPU. The Motorola 68000 didn't had an FPU. You just decode JPEG in software, while... making dinner.
Sure it didn't have a floating point co-processor?

Edit: It did.
Posted on Reply
#30
john_
FordGT90ConceptSure it didn't have a floating point co-processor?

Edit: It did.
I have that Mega STe in my basement. Still works great. Do you know what I was thinking of buying in the past, and eBay does give me an opportunity today if I decide to do so?

This:Motorola MC68881FN16 / MC68881FN16B

Mega STe had an open slot to insert a math co processor. MC68000 doesn't have an integrated FPU



Motorola 68000 - Wikipedia, the free encyclopedia
These processors have no floating point unit and it is difficult to implement an FPU coprocessor (MC68881/2) with one because the EC series lacks necessary coprocessor instructions.
I could even render images. Of course this little image took about 8 hours to complete. I don't remember if it was with the 1040 STe of the Mega STe that I bought latter. With a math co processor it would have done probable only one or two hours.



That's the difference. The time it does to complete something. Not if it can complete something.
Posted on Reply
#31
moproblems99
If this guy wins anymore than his money back and enough to cover his actual legal fees, then I am not going to do anything. But I would be disappointed.
Posted on Reply
#32
Aquinus
Resident Wat-man
FordGT90ConceptMy point is that FPU has been a staple of x86 since 1989...which we aren't even using today. AMD64 (2003) instruction (which Bulldozer uses) set requires an FPU for processing SSE instructions. AMD took the cheap route by sharing FPU resources for each physical core ("core" defined as having one FPU and two distinct ALUs).

Ever since Athlon X2, "cores" have been very clearly defined as being complete processors on the same package. Bulldozer does not fit AMD's own definition of a 8-core. It's a 4-core with hybridized symmetrical multithreading.



Sure it didn't have a floating point co-processor?

Edit: It did.
When was the last time you tried using a CPU with only a FPU and no integer cores? It doesn't happen because memory accesses require an integer ALU. My point is that a computer isn't a computer as we know it without integer cores and that the FPU doesn't define the CPU. Yes, it's used more now because it's there but, there are requirements for the CPU to operate that need integer operations. A CPU doesn't need a FPU to operate even if we use it a lot now and there are plenty of microcontrollers that lack a FPU.

A FPU doesn't make the a CPU, the integer cores and the ALU does because a CPU can't function when you can't access memory which uses integer addressing since floating point numbers aren't very good at storing exact values unlike integers.

Either way, this is getting a little tiresome, simple fact is that a a CPU needs integer cores to operate any kind of workload whereas a FPU is only required for fast floating point operations. That's all I'm saying, so to say the FPU is what "makes or breaks" a core, is a little absurd in my opinion.
Posted on Reply
#33
Uplink10
FourtyTwoOver-all there's no doubt that AMD's marketing of Bulldozer is very misleading.
A lot of marketing is misleading nowadays and I think the public (and the jury) started to automatically accept that misleading and exaggerating marketing is something normal.

I myself would crucify every company which used even slightly misleading marketing. But marketing has a lot of freedom, you can say that a 4 Core Intel CPU with HT has actually 8 Cores which would be true because there are 8 Virual cores available to OS.

If it is possible to disable 7/5/3/1 core(s) in a firmware then he should lose but if it is not then he should win.
FordGT90ConceptSeagate should have been open and shut (Microsoft is lying to you because they divide by 2^30) and they still lost;
Yes, Microsoft shows the numbers in 2^X and the units in 10^X, a big mistake which they did not correct in Windows 10, tells you what shitty OS it is, it can't even get the basics right.
Posted on Reply
#34
FordGT90Concept
"I go fast!1!11!1!"
@Aquinus: going to have to agree to disagree. For the record, an FPU can be designed to manage memory too but it would do so at a much slower rate than an ALU. Both ALU and FPU are critical to all modern CPUs.
john_MC68000 doesn't have an integrated FPU
Didn't say it did. I said Atari Mega STE had an Motorola 68881 or Motorola 68882 co-processor.

If there was no co-processor installed, 68020 and 68030 would run the instruction through an FPU emulator (not unlike what I described when first referring JPEG).
Posted on Reply
#35
john_
FordGT90ConceptDidn't say it did. I said Atari Mega STE had an Motorola 68881 or Motorola 68882 co-processor.

If there was no co-processor installed, 68020 and 68030 would run the instruction through an FPU emulator (not unlike what I described when first referring JPEG).
Yes that's what you said. Please don't try to hide behind your finger. It's not that bad to say "maybe I was wrong in this".
The FPU in the Mega Ste was an optional upgrade, as it says in the link that YOU posted "optional FPU". And forget Mega STe if it confuses you. There was NO FPU on the Atari ST/Atari STe/Amiga 500.
Posted on Reply
#36
FordGT90Concept
"I go fast!1!11!1!"
How does this not describe the Atari ST?
FordGT90ConceptWell, I suppose you technically could if you multiplied all of the floats by several million and divided to convert back. Rounding errors would be aplenty and performance would be poor by comparison. Everything that decodes it would also need special libraries for a non-IEEE754-compliant processor.
"special libraries" = FPU emulator

ALU can do everything FPU can do at a performance cost; FPU can do everything ALU can do at a performance cost. Why does that matter, at all, when both have been central to CPU design for the past two decades? AMD can't win that argument.


There's only one question here and it is this: are the two logical cores of the Bulldozer design separable? If yes, they are "cores." If not, the combined unit is a "core" with SMT.
Posted on Reply
#37
Aquinus
Resident Wat-man
FordGT90ConceptFor the record, an FPU can be designed to manage memory too but it would do so at a much slower rate than an ALU.
Due to the nature of floating point numbers, the loss of precision is the exact reason why the FPU can't be used to manage memory because exact values are required for memory locations. Memory addressing requires integers. There is no getting around that. The simple fact is that the FPU is an addition to the CPU, not the heart of it. Floating point math simply is not going to give you the atomic values that memory addressing requires. The simple fact is that there is a reason why CPUs started with integer cores and later were expanded to improve other kinds of math. This is a "how computers fundamentally work," thing and I have to call it out.
Posted on Reply
#38
FordGT90Concept
"I go fast!1!11!1!"
We're talking about 16-bit processors. A 32-bit FPU (24-bit mantissa) can easily handle all memory addressing needs without rounding. Even modern 64-bit processors have a 128-bit FPU (113-bit mantissa). Motorola 68881 has 80-bit FPUs (64-bit mantissa).

CPUs started with integers because the concept of non-integers is alien to binary. IEEE 754 was required to put all hardware and software developers on the same page.
Posted on Reply
#39
happita
Every time I see FordGT, Aquinus, or some other known member who likes debating about technicalities, I think to myself "I'm so happy my brain isn't wired like theirs is" :D

Then I grab my popcorn and kick back while enjoying the back & forths :lovetpu:

PS Love you guys :)
Posted on Reply
#40
R-T-B
FordGT90ConceptYou have to go back over 20 years to find an x86 processor without FPUs (80386). 13 lifespans of computer hardware is hardly relevant today.
You however don't have to look any farther than the modern era of arm cores and even some server archictecutres (SPARC comes to mind) to find modern "octacore" CPUs with only one FPU.

This is nonsense. It's a core if it can math at all. Heck earlier CPUs lacked a MULTIPLICATION FUNCTION. They were still considered a core.
Posted on Reply
#41
GLD
The person suing is a greedy jerk trying to fleece AMD. Poop on him. If he isn't happy with AMD, then stop being a cry baby and just switch to Intel.
Posted on Reply
#42
GhostRyder
Its a frivolous lawsuit, there are 8 cores there they just share resources with each other which is why they were not up to par with Intel in many ways.

When the chip is utilized to its max it does perform very well. The problem is using it to the max part as that requires some work on the coders part to max the app very heavily threaded.
Posted on Reply
#43
the54thvoid
Super Intoxicated Moderator
FordGT90ConceptSpoiler alert: 3930K won everything except a Photoshop benchmark (reviewer says it is because 8150 has higher clocks).
I like you but you're completely ignoring my point to prove a technical aspect of the architecture which isn't relevant to a case where a guys says the chip doesn't have 8 cores. It's got 8 cores, albeit badly designed.

Also, a 3930k has 6 cores and 12 threads. BD has no more than 8 of anything. My whole point was to say that you cannot compare Intel's cores with Bulldozer - they're different architectures. What Intel call a core, AMD call a module. What intel call 'threads', AMD call 'Cores'. Again, non tech court talk.

But to prove a simple point using 'expert' evidence:

www.tomshardware.co.uk/cpu-performance-comparison,review-32592-12.html
AMD’s Bulldozer FX-8170 exhibits the best performance thanks to its eight integer cores
What, 8 cores thrashing the 12 threads of a 3960X? I know you can pick this apart by saying 'blah' this 'blah' that but it doesn't matter. AMD can prove their product uses 8 integer cores when doing 'certain' tasks, it is therefore not misleading to sell it as such.

And FTR, BD 8 core = 1500, BD 6 cores = 1009. BD 4 core = 751. 100%, 66%, 50% performance drops, roughly what you'd expect with a drop in cores, especially relevant given the 4 core FX4170 is at 4.1Ghz and the 8 core FX8350 is at 4Ghz. Same speeds, half the cores, half the score.

Posted on Reply
#44
FordGT90Concept
"I go fast!1!11!1!"
R-T-BYou however don't have to look any farther than the modern era of arm cores and even some server archictecutres (SPARC comes to mind) to find modern "octacore" CPUs with only one FPU.
SPARC T5 has 16 cores with 8 threads per core (SMT). Its design is more similar to HyperThreading than Bulldozer.
GhostRyderIts a frivolous lawsuit, there are 8 cores there they just share resources with each other which is why they were not up to par with Intel in many ways.
So why didn't AMD call it what it is? A quad core. Cores, prior to Bulldozer, don't share resources except low level cache. Even calling them "modules" is misleading because" modules" implies modularity. They have none.

Frankly, I'm shocked the lawsuit is happening now and not four years ago.
the54thvoidIt's got 8 cores, albeit badly designed.
No, it has four cores with hybridized symmetrical multithreading. Note how it all rams through one scheduler/dispatcher:

Each core should have its own scheduler/dispatcher (posted twice for a dual-core comparison):


You can lop off an Intel core and the other will still function perfectly. You cannot do the same to Bulldozer without cutting off two of what AMD calls "cores" (because they are not cores).


"Core" was defined because two logical processors were combined on one package (CPU) as a means to distinguish two processors from two logic processors inside of one package. AMD tried to redefine "core" with Bulldozer and they cannot redefine what has already been defined.
Posted on Reply
#45
R-T-B
happitaEvery time I see FordGT, Aquinus, or some other known member who likes debating about technicalities, I think to myself "I'm so happy my brain isn't wired like theirs is" :D

Then I grab my popcorn and kick back while enjoying the back & forths :lovetpu:

PS Love you guys :)
It's ok, I'm happy my brain isn't wired like yours too.

Love all around!
SPARC T5 has 16 cores with 8 threads per core (SMT). Its design is more similar to HyperThreading than Bulldozer.
And up until T3 they all shared 1 FPU. They may still even if they reverted to their old ways, I heard rumblings about that at one point Regardless, they certainly do share a single FPU on many arm chips in cellphones. Heck, some ARM CPUs lack an FPU entirely.

Technology terminology is not restricted to the desktop space.

EDIT: Just saw your diagram above. Am I to understand that it's more than the FPU per core that bulldozer is lacking? If so I recant.
Posted on Reply
#46
FordGT90Concept
"I go fast!1!11!1!"
SPARC is a database processor. The only time it uses FPU is when it has to do floating point math inside of a table/function. 90% of their workload involves playing with memory so it absolutely makes sense that they went scant on FPU. Bulldozer is a general processor. It shouldn't nerf itself in the way that SPARC does because that's not the way people use it.


The whole thing is ridiculous because AMD calls each "integer cluster" a "core." Who really agrees with that logic?
Posted on Reply
#47
DeOdView
Oh, bloody hell...! I'm filing a class action lawsuit against the DEVs for not developing software that's fully utilized all my 8 cores for all this years. :rockout:

Any idiot lawyers in the house?:roll::nutkick:
Posted on Reply
#48
cadaveca
My name is Dave
FordGT90ConceptSPARC is a database processor. The only time it uses FPU is when it has to do floating point math inside of a table/function. 90% of their workload involves playing with memory so it absolutely makes sense that they went scant on FPU. Bulldozer is a general processor. It shouldn't nerf itself in the way that SPARC does because that's not the way people use it.


The whole thing is ridiculous because AMD calls each "integer cluster" a "core." Who really agrees with that logic?
Well, see, the thing here is that legal English and real English are not one and the same. So there is something to argue here, and that would be the legal definition of what a "core" is. That in and of itself is a useful thing for consumers, and makes the actual lawsuit details here unimportant. While we could argue this point for days and days, it'll be up to a single judge to define what a core should consist of, and that may not be a task that your everyday judge might want to take upon himself.
Posted on Reply
#49
yogurt_21
cadavecaWell, see, the thing here is that legal English and real English are not one and the same. So there is something to argue here, and that would be the legal definition of what a "core" is. That in and of itself is a useful thing for consumers, and makes the actual lawsuit details here unimportant. While we could argue this point for days and days, it'll be up to a single judge to define what a core should consist of, and that may not be a task that your everyday judge might want to take upon himself.
such a thing would be useful accross the board. Especially now that we have 8 "core" phone/mobile cpus. How is a consumer supposed to rationalize that against what counts for a core on a computer?
Posted on Reply
#50
FordGT90Concept
"I go fast!1!11!1!"
The result of this lawsuit is going to be "core = integer cluster" on Bulldozer packaging not unlike the result of the Seagate lawsuit resulting in "1 GB = 1,000,000,000 bytes" on everything that uses the gigabyte measure from hard drives, to SSDs, to flash, to optical disks.

Intel and AMD Zen might do "core = logic processor" just to be safe.
Posted on Reply
Add your own comment
Nov 27th, 2024 22:56 EST change timezone

New Forum Posts

Popular Reviews

Controversial News Posts