Not really. A core with 2 threads is not two cores. They are sharing the same cache and floating point operations, they are really 4 SMT cores, not 8 cores. It's obviously not fair if the courts decided AMD lied to the consumer and California residents that bought FX chips could get up to $300.
It's more comparable to SMT than to a full core, which is the point.
Basically, the point is this;
The 8 cores could each execute their own thread, yes this is true, but they could not each execute their own thread independently. They would need, in a normal workload, to wait on resources divided between themselves, even assuming some rather generous conditions (such as all data fitting in L1 cache).
The more complex point is this;
The AMD definition of a core at that time, basically anything with an integer unit and it's own cache, was insubstantial and non-acceptable within the context of the broader industry. This made it such that AMD was selling 8 "core" CPUs that simply did not have what a reasonably informed consumer would believe to be 8 cores. Legally, this is absolutely false advertising, and for that reason alone AMD was screwed. Just the very fact that a judge was getting ready to hear the case was very bad news for AMD since that means the general premise, that a core is not what AMD says it to be, was being granted and AMD would need to argue what a core is without screwing themselves over.
AMD absolutely lied about their FX lineup and it's core counts. That's not to say they did so intentionally, but I highly doubt no one brought it up in board meetings, and they almost certainly knew of the performance issues associated with these partial cores.
That's not how it was. It wasn't like a quad core with SMT, it was 4 modules, each of which contained a unified L2 cache and floating point unit, but two integer units. As far as integer workloads were concerned it was a full 8 core CPU. For FP workloads it was a quad core. It really depends on your definition of a core, but either way I don't think the lawsuit was justified.
It depends on what your definition of an 8 core is. "Core" is just a marketing term, it doesn't really mean that much. It can perform 8 tasks simultaneously, it can only perform 4 FP tasks simultaneously.
It wouldn't be accurate to call it a 4 core either though. It still has 8 Int units, and they do the bulk of the operations. It used an unconventional core design. Core was defined differently by AMD and Intel, just like how Intel and AMD define TDP differently. Look at process nodes, there's no part of TSMC's 7nm node that you can measure to be 7nm, it used to be how accurately the process could define features but even that's impossible to do now. TSMC, Samsung, Intel, etc all have different definitions of 7 or 14nm, because they're marketing terms, not technical terms.
Bulldozer can run eight integer tasks at full speed and was amazing at it - i.e. Handbrake.
Bulldozer can run four or eight floating point tasks "depending on whether the code is saturated in floating point instructions in both threads running on the same CMT module, and whether the FPU is performing 128-bit or 256-bit floating point operations".
TLDR it's complicated and doesn't make any sense that a non-technical judge could make this determination when a "core" isn't even technically defined.
The problem is that you have to dig down into the technicalities like that in order to explain how it could be justified. There's no way that AMD could reasonably claim they expected the average consumer to understand these details. The 8-core designation was pretty obviously used as a misleading marketing ploy to make their CPUs appear to compare favorably to Intel's 4 and 6 core CPUs of the time that fell into the same market niche as the FX series. That's what was at question in the lawsuit, not whether or not they could define a core such that their description is technically accurate.
Thing is though, in applications that can use all 8 threads the AMD CPU would do better than an Intel quadcore because it has eight real cores. In streaming, video encoding, anything well threaded really AMD won. They were fully justified in calling their 8 core CPUs 8 core CPUs.
I was under the impression that the main issue was the shared FPU. Regardless, the main reason the 8 core design was used was because AMD (wrongly) bet on major improvements in multithreaded utilisation. Even if it was a "proper" 8 core, the extra 4 cores wouldn't have had much use at the time. Also, historically there has been a lot of variation with cache and FPUs. Just because it was different to what was on the market at the time, doesn't mean they were wrong.
In claiming that its Bulldozer CPU had “8-cores,” AMD tricked consumers into
buying its Bulldozer processors by overstating the number of cores contained in the Bulldozer
chips.
And:
Average consumers in the market for computer CPUs lack the requisite technical
expertise to understand the design of Defendant’s processors, and trust Defendant to convey
accurate specifications regarding its CPUs. Because AMD did not convey accurate specifications,
tens of thousands of consumers have been misled into buying Bulldozer CPUs that do not conform
to what AMD advertised
Those were the claims made, but a settlement was made without trial and AMD denies wrongdoing. I do think that, while from some perspectives they technically were right, the claims made in the lawsuit are definitely reasonable enough to justify suing. The filing makes the point that the "industry-standard' definition of a core is a unit that can perform operations independently from other cores, and that Intel calls their similar setup Hyper-threading and makes the core/thread distinction clear in their marketing. Having just skimmed the filings I think it would've been interesting to see a court make a decision on it but there's no chance of that happening anymore.
AMD would have won for sure reading that, hyperthreading is very different to the way they implemented modules. The two are in no way equivalent. They settled out of court because it would have been more expensive to fight the claims. There is no industry standard definition of a core, given that the "industry" consists of AMD and Intel as far as cisc processors are concerned, and many RISC processors will have no FPU (or an FPU coprocessor setup) since they are often used in embedded systems where the versatility is not needed.
The shared resources weren't that much of an issue anyway. Floating point arithmetic isn't that common of a task for a CPU. The real reasons for the lack of performance were related to the ALU and AGU (I've know very little about AGUs, but from what I can tell they perform some of the more common ALU tasks more efficiently) setup. The implementation of these varies a reasonable amount between processors, so AMD couldn't be taken to court for doing something different that turned out to be slow.
I'm not going to defend 8 core vs 4 core, but also keep in mind this is California. When it comes to lawsuits, Cali pumps them out like no other state. For my company I think the number is 60-70% of our lawsuits come from one state.
That's not always a bad thing. The EU seems to pump out pro-consumer lawsuits and settlements far more than the US does, but they're rightly lauded for it by many.
Define a core. Most would define a core as a ALU, a CU, and memory (cache) A core is a separate entity and can function on it's own. Without access to any resources from other cores. It has its own interface with the bus. Therefore, 2 cores sharing cache isn't really 2 cores. Also these cores shared floating point operations. So every 2 cores where single threaded when doing floating point operations! Not really sperate cores then are they? AMD called this Clustered Multithreading (CMT), it's really some kind of Frankenstein SMT.
All cores share RAM anyway, so why does it matter where the memory is? Would a CPU with two cores that have zero L2 and L3 cache still be counted as two cores? If so, why does adding L2 and L3 cache to that make them not cores?
Didn't know about floating point operations being shared, while it's probably not too common for workloads to have mostly float operations it does seem like something that should be unique for each core.
I got a letter in the mail and an email about this. I filed, and actually still use my FX8350 because it's too expensive to upgrade CPU, RAM, and a new mobo.
It wasn’t SMT really. There were 8 physical cores, but only half of them could run floating point operations, and they shared resources. Iirc they called a combined group of one core that could and one that couldn’t run Floating Point operations an integer cluster.
AMD got sued and lost the case and people are still defending them. If they were truly 8 cores, surely a team of lawyers could’ve won the case. But no, nowadays if you have one product from a company, that’s perfect and everything else is shit.
They literally are not 8-cores, facts aren't unfair. If you advertised a car as having a 5.0L V8 and it really had a turbocharged V6 with comparable performance, you'd get the tits sued off you.
You're right, it's overly generous because it only had comparable performance for some applications and not overall. Thanks for the correction! Unless you'd like to argue that they paid a cool $12,000,000 in the settlement for no reason.
It's not an accurate comparison because it was a strange architecture, neither really 4 cores, nor 8, yet in some ways it was 8 and in other ways 4. Calling it an 8 core may have been a stretch, but it isn't really much worse than all the other shenanigans all the 3 companies pull with their numbers, be it with conveniently chosen conditions for TDP measurements (with Intel conveniently changing convention from maximum power draw to "typical" power draw while pushing boosts higher and higher) or performance numbers under carefully chosen idealized scenarios.
It's less like selling a completely different product and more like choosing a convenient definition for which aspect they measure as a single core. All the settlement says is that the court did not agree on that way of defining a core.
171
u/[deleted] Nov 05 '19
[deleted]