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"

#301
Aquinus
Resident Wat-man
FordGT90ConceptIt does matter. When you go to Best Buy and a guy comes up to you and says this AMD has 8 cores for $200 and this Intel has 4 cores for $300 bucks. Most consumers will go with AMD not realizing that AMD only has 4 complete cores. AMD deliberately mislead the public to get more sales. The people that filed this lawsuit, in hindsight, know they should have gone with Intel's quad-core for $100 more.
That's a hollow argument and you know it. If someone is going into Best Buy to buy a PC, they're probably not going to need needing the most powerful CPU on the market. Most people want a cheap computer that works. We've also had this discussion before and we're not going to agree and that's that Bulldozer is more than an 8c CPU than it was like a 4c because it can execute that many instructions in parallel (if you merely exclude the FPU for a minute,) and notice that parallel integer workloads scale almost linearly which screams real cores. Only with FPU workloads does it scale more like hyper-threading would.

As I said before, no one ever said 8 CPU cores needed to be fast but, they're are more than enough components to call it a 8c CPU. Does it have shared resources that can hinder performance, sure but, even in those cases, workloads still scale linearly unlike with just about every form of SMT.
Posted on Reply
#302
FordGT90Concept
"I go fast!1!11!1!"
FX-8350 = 4c/8t
I will not exclude FPU (or any other instructions) because cores must be complete.

Silvermont is not fast even compared to an FX-8350 but it has 8 cores (yes, 8 simultaneous AVX instructions) unlike FX-8350.
Posted on Reply
#303
Aquinus
Resident Wat-man
FordGT90ConceptFX-8350 = 4c/8t
I will not exclude FPU (or any other instructions) because cores must be complete.

Silvermont is not fast even compared to an FX-8350 but it has 8 cores (yes, 8 simultaneous AVX instructions) unlike FX-8350.
The funny thing is though that a computer can run just fine without even having an FPU paired with X86 integer cores. Show me a single CPU that has x87 and can run independently from an x86 core and I would be willing to entertain your position but, the reality is that whether the FPU is on the same die or not isn't the point because, it's still essentially still a co-processor. Floating point math was an afterthought, not the driving force for x86 as most things computers do are integer operations.
Posted on Reply
#304
Melvis
How did I miss this thread? lol

Im guessing they lost the court battle?
Posted on Reply
#305
FordGT90Concept
"I go fast!1!11!1!"
AquinusThe funny thing is though that a computer can run just fine without even having an FPU paired with X86 integer cores. Show me a single CPU that has x87 and can run independently from an x86 core and I would be willing to entertain your position but, the reality is that whether the FPU is on the same die or not isn't the point because, it's still essentially still a co-processor. Floating point math was an afterthought, not the driving force for x86 as most things computers do are integer operations.
It's been an integral part of processors for the last two decades so no, it isn't a co-processor. It was an afterthought two decades ago (or rather, too complicated to implement in hardware until process tech matured making it affordable to integrate) but it has been inseparable since. Hell, even the internet browser you're looking at now would slow to a crawl if it had to do the CSS work on ALU. Simply visualizing the text characters you're looking at uses floating point math.

FPU can only be reasonably separated in specialized processors (like database or network routers). In general processors (which x86 epitomizes), it should not be separated. The fact they're putting it back in Zen proves how stupid that idea was.
MelvisIm guessing they lost the court battle?
Last action was a time extension on August 23:
"ORDER GRANTING JOINT STIPULATION TO FURTHER EXTEND TIME FOR PARTIES TO ENGAGE IN ADR PROCESS"

TL;DR: they're trying to settle. It will only go to court if they fail to settle.
Posted on Reply
#306
MalakiLab
FordGT90ConceptFX-8350 = 4c/8t
I will not exclude FPU (or any other instructions) because cores must be complete.

Silvermont is not fast even compared to an FX-8350 but it has 8 cores (yes, 8 simultaneous AVX instructions) unlike FX-8350.
TOTALLY wrong. Silvermont don't have AVX or any other 128-bits instructions. Even the latest, the Goldmont, don't have any AVX, FMA or advanced instructions else than SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2.

Goldmont FPU is a LOT weaker than Piledriver based architecture. By a HUGE margin. Unless they decide to assemble two of their FPUs together and share, they will NEVER achieve the AVX and FMA instructions with a OoO and the TDP. The AMD A10 5750M is totally blasting out any Intel Atom in every possible benchmark.

FX-8350 = 8c/8t, until it needs to achieve an AVX or FMA, that's where the processor need to take two threads to achieve it. You simply don't understand the architecture, at all.

As you are probably under Windows, name me one software compiled to use AVX instructions. Even now, so little games are compiled to take advantage of AVX.
Posted on Reply
#307
FordGT90Concept
"I go fast!1!11!1!"
MalakiLabTOTALLY wrong. Silvermont don't have AVX or any other 128-bits instructions. Even the latest, the Goldmont, don't have any AVX, FMA or advanced instructions else than SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2.
Right you are but it still has native support to handle floats in each core where Bulldozer does not.
MalakiLabGoldmont FPU is a LOT weaker than Piledriver based architecture.
Such is the nature of 20 watt and less design. It is weaker across the board. Jaguar would be a better comparison and AMD's low power designs never had a Bulldozer-like design...likely because it could only power down a core (as in a module) at a time.
MalakiLabAs you are probably under Windows, name me one software compiled to use AVX instructions. Even now, so little games are compiled to take advantage of AVX.
Prime95
Posted on Reply
#308
cdawall
where the hell are my stars
FordGT90ConceptPrime95
I am curious now what program that a standard user, would use, uses AVX? Quite honestly prime could use whatever it wants and it wont affect anyone.
Posted on Reply
#309
FordGT90Concept
"I go fast!1!11!1!"
That's the case with all CPU instructions. It's only a problem if it tries to use it and it isn't supported (e.g. some software compiled prior to 2000 can't run on new CPUs because of obsolete instructions). It's not something developers tend to brandish about.
Posted on Reply
#310
cdawall
where the hell are my stars
FordGT90ConceptThat's the case with all CPU instructions. It's only a problem if it tries to use it and it isn't supported. It's not something developers tend to brandish about.
It is supported, it functions fully as well. If we are going to complain about the performance being lower well AMD x87 performance has trailed Intel for decades. Remember there are also instruction sets AMD performs better in as well as certain applications they do better in than intel. Heavily multithreaded applications using non-biased software works reasonably well on AMD to the point where their servers shares were popping up pretty quickly.
Posted on Reply
#311
newtekie1
Semi-Retired Folder
FordGT90ConceptIndeed, FPU instructions are generally under x87 which stems from the 8087 co-processor for the 8086. Thing is, x87 has been a standard feature for about two decades now. AMD tried to depreciate it to force developers to use the GPU for FPU tasks. It failed.
That can all be true. But the absolute minimum for a x86_64 core is that it can execute all the instructions in the x86_64 instruction set, and each module in an FX series processor has two cores capable of doing that.

A non-shared L2 was standard for a very long time too. But that changed. AMD tried to change to a shared FPU. It hurt performance, but in the strictest technical term, it did not make each module 1c/2t. Each module can in fact work on two instructions at the exact same time. That is not possible with 1c/2t.
FordGT90ConceptDie meaning CPU socket. Yes, they were MCM'd but that's a technical detail that doesn't matter in terms of core count. Pentium D was sold as a dual core and it had two cores in two modules. Core 2 Duo was sold as a dual core and it had two cores in one module. Core 2 Quad was sold as a quad core and it has four cores in two modules. The cores (L1 instruction to L1 data) did not share any components in any of those processors.
Um, no. Die != package or socket.
Posted on Reply
#312
FordGT90Concept
"I go fast!1!11!1!"
cdawallIt is supported, it functions fully as well. If we are going to complain about the performance being lower well AMD x87 performance has trailed Intel for decades. Remember there are also instruction sets AMD performs better in as well as certain applications they do better in than intel. Heavily multithreaded applications using non-biased software works reasonably well on AMD to the point where their servers shares were popping up pretty quickly.
It's not about performance, it is about labeling their processors "8-core" when it only has 4 cores accepting two threads each. This is exemplified by the transistor count (falls in line with a quad core, not an octo core), the limitations of power gating (can only bring FX-8350 down to 2 integer cores, it cannot go to one like a real core can), and by the fact that AMD has never sold a single-core Bulldozer (Core 2 Duos, with one core disabled, was sold as a Celeron, for example). Each 2 "integer core" + 1 FPU represents a complete core by all modern definitions of the word "core." The "integer cores" do not.
newtekie1A non-shared L2 was standard for a very long time too. But that changed. AMD tried to change to a shared FPU. It hurt performance, but in the strictest technical term, it did not make each module 1c/2t. Each module can in fact work on two instructions at the exact same time. That is not possible with 1c/2t.
As I said before, L2 cache sharing doesn't make or break a core. Case in point, all cores on every socket share a memory controller for the system RAM. Because of that, do we call everything under that a core? Nope. It could happen that two cores share an L2 as a module, then two modules share an L3. That doesn't change what a core is. Separating the FPU does because that's what? 50-60% of a CPU core in terms of transistors? When you look at it from that perspective, AMD has cheated consumers out of tens of millions of transistors.


Even if AMD made it possible to power gate an integer core, I'd still argue it isn't a core because there still isn't a discreet FPU for each. If it had two, or more FPUs and the cores could use 1 to all of them (like Core 2 Duo L2), then yeah, I could take your argument. That is not the case though: they're Siamese twins where disabling one would kill the other. The whole, therefore, is a core, not the parts. This feature is unique with Bulldozer and sons. Even SPARC can do fine without the FPU core.
Posted on Reply
#313
MalakiLab
FordGT90ConceptRight you are but it still has native support to handle floats in each core where Bulldozer does not.
For SSE, SSE2, SSE3, SSSE3, SSE4/4.1/4.2/4a, F16C, it does. For FMA3/4 if you use the m32, m64 and m128 operands, it won't lock up the FPU. Same for AVX/XOP, if you use 32-bit or 64-bit mode, you'll be just fine. Though, as soon as they use the VEX coding scheme to put more operands than the reserved half of the FPU for one core, it will amputate the other side reserved for the other core and use both for the set amount of cycles. Meanwhile, the other core can do some instructions not needing any FPU, at the rare occasion there's no such instructions in the buffer, the second core cycles will go to waste. There's a major difference between saying it can't support floats in each core independently and simultaneously and not being able to do some part of some instructions alone. They simply could have rejected the implementation of such instructions, like Intel did for the Atom, and wouldn't have any argument left to imply your bias. Instead, they tried to innovate, combine two FPUs in one, and include the possibility to be used together and achieve the AVX instructions. It doesn't change the fact it will behave like two core for every tasks you'll ask, but just not Prime95. If it's enough to say a module is not two cores? Of course not.
FordGT90ConceptSuch is the nature of 20 watt and less design. It is weaker across the board. AMD Jaguar would be a better comparison.
Well, AMD A6 and A4 could have been also a good comparison.
Posted on Reply
#314
cdawall
where the hell are my stars
FordGT90ConceptIt's not about performance, it is about labeling their processors "8-core" when it only has 4 cores accepting two threads each.
Good argument until you get into the fact, mind you fact, that each "core" can independently process an x86/x86-64 instruction, two per module, unlike a single core dual thread arrangement.

You can also disable the cores individually, unlike an additional thread. Each of those cores is also a physical presence with a clockgen controlling it and can be clocked independently of the core in the same module next to it.

Mind finding me a "thread" that can do that?
Posted on Reply
#315
FordGT90Concept
"I go fast!1!11!1!"
MalakiLabIf it's enough to say a module is not two cores? Of course not.
Up until Bulldozer, every "core" was effectively a complete "processor." It could be powered individually and it operates independently (barring memory but that's always been an issue with multi-processor logic). FX-8350 only has four objects that meet that definition, not eight. Athlon 64 X6? Six. Core 2 Duo? Two. Core i7-920? Four. Core 2 Quad? Four.
cdawallYou can also disable the cores individually, unlike an additional thread.
Source? The operating system can stop sending it work but I mean power off as in cold...no current.
Posted on Reply
#316
newtekie1
Semi-Retired Folder
You are taking things that do not define what a x86_64 is and trying to argue that they do. Sorry, I have to move on. I will say this one more time and that is it. The definition of an x86_64 core does not require an FPU, it doesn't require that each core can be disabled independently of the others. The power gating system does not define a core. The ONLY thing that defines an x86_64 core is the ability to process x86_64 instructions. Period.
Posted on Reply
#317
FordGT90Concept
"I go fast!1!11!1!"
The box doesn't say "x86_64 core" it says "core"


You're making a technical distinction that simply doesn't exist to the public nor does AMD make that distinction clear on their packaging.
Posted on Reply
#318
newtekie1
Semi-Retired Folder
In an x86_64 processor, that is exactly what core means. The FX series of processors are x86_64 processors. So the word core means x86_64 core.

I mean, are you expecting them to make it clear these aren't ARM cores? They don't say that on the box, so why shouldn't we expect them be IA-64 cores? Is that the logic you really are going with?
Posted on Reply
#319
FordGT90Concept
"I go fast!1!11!1!"
newtekie1In an x86_64 processor, that is exactly what core means. The FX series of processors are x86_64 processors. So the word core means x86_64 core.
It is not. Even in AMD's technical slides, they called it "integer core" not just "core." Here's the best definition for "core" I could scrounge up:
www.webopedia.com/TERM/M/multi_core_technology.html
In consumer technologies, multi-core is usually the term used to describe two or more CPUs working together on the same chip. Also called multicore technology, it is a type of architecture where a single physical processor contains the core logic of two or more processors. These processors are packaged into a single integrated circuit (IC). These single integrated circuits are called a die. Multi-core can also refer to multiple dies packaged together. Multi-core enables the system to perform more tasks with a greater overall system performance. Multi-core technology can be used in desktops, mobile PCs, servers and workstations. Contrast with dual-core, a single chip containing two separate processors (execution cores) in the same IC.
Bulldozer does not represent the norm (complete processors), it represents an exception (Siamesed processors). AMD can't take a well understood word and redefine it to mean something else. If they had put "8-Integer Core" on the box, this lawsuit wouldn't have happened.
Posted on Reply
#320
Toothless
Tech, Games, and TPU!
Sooo does this effect the 63xx series because i want my $30.
Posted on Reply
#321
FordGT90Concept
"I go fast!1!11!1!"
If the class action suit moves forward, probably but FX 6xxx will likely get less than FX 8xxx. How much depends on how much it settles for and how many products were sold that are eligible.
Posted on Reply
#322
MalakiLab
FordGT90ConceptUp until Bulldozer, every "core" was effectively a complete "processor." It could be powered individually and it operates independently (barring memory but that's always been an issue with multi-processor logic). FX-8350 only has four objects that meet that definition, not eight. Athlon 64 X6? Six. Core 2 Duo? Two. Core i7-920? Four. Core 2 Quad? Four.
Where you got that? Go check your sources, because we can disable one core per module. It's done since the Bulldozer exist. Some do it because you can gain 5% performance boost on single core, which can be explained by the dispatching overhead. Just look it up, Gigabyte and Asrock motherboards can disable one core per module. And it's very real, the processor TDP and current are halves. For most people it's irrelevant as the second cores per module make you gain 50% more power compared to the 5% more power per core when you disable cores 2/4/6/8.

You also have frequency scaling. I can scale each core clock speed independently.





I will even leave the linfo so you see the machine running in real time. If those were only one core per module without being independent, i wouldn't be able to change their clock frequency individually for all 6 cores.

malakilab.org/linfo/
Posted on Reply
#323
cdawall
where the hell are my stars
FordGT90ConceptIt is not. Even in AMD's technical slides, they called it "integer core" not just "core." Here's the best definition for "core" I could scrounge up:
www.webopedia.com/TERM/M/multi_core_technology.html

Bulldozer does not represent the norm (complete processors), it represents an exception (Siamesed processors). AMD can't take a well understood word and redefine it to mean something else. If they had put "8-Integer Core" on the box, this lawsuit wouldn't have happened.
There is no definition of a CPU core. That is were you will fail to make any argument. AMD could sell shit in a box and call it a core and if it is by their own definition a core they are not incorrect.
Posted on Reply
#324
MalakiLab
FordGT90ConceptIt is not. Even in AMD's technical slides, they called it "integer core" not just "core." Here's the best definition for "core" I could scrounge up:
www.webopedia.com/TERM/M/multi_core_technology.html

Bulldozer does not represent the norm (complete processors), it represents an exception (Siamesed processors). AMD can't take a well understood word and redefine it to mean something else. If they had put "8-Integer Core" on the box, this lawsuit wouldn't have happened.
You don't understand what is defined here. multicore is a processor with multiple cores. A module is not a processor. You're mixing the terms and twisting them to suit your rhetoric. Hell you don't even understand what is a die. If you take for example the Opteron 6272. It's one processor, it have 2 dies, each die have 4 modules, each module have 2 cores. A multicore processor is a processor having more than 2 cores. Even if what you claim were right, and one module would be one core, it would still be 4 cores in a FX-8xxx, and 2 cores, in a FX-4xxx, and would match the definition you given of a multicore processor.
Posted on Reply
#325
FordGT90Concept
"I go fast!1!11!1!"
MalakiLab
Why does it say "cpu cores : 3"
cdawallThere is no definition of a CPU core. That is were you will fail to make any argument. AMD could sell shit in a box and call it a core and if it is by their own definition a core they are not incorrect.
Seagate got sued and lost because Seagate's definition of "GB" (10^9) varied from Microsoft's definition of "GB" (2^30).
Posted on Reply
Add your own comment
Nov 28th, 2024 00:40 EST change timezone

New Forum Posts

Popular Reviews

Controversial News Posts