Live data from Hacker News

What's wrong with Intel, and how to fix it: Former principal engineer unloads

pcworld.com

21–30 of 117 posts

Re: What's wrong with Intel, and how to fix it: Former principal engineer unloads

#21
post #8

From the article: Piednoel didn’t spare words for Intel’s culture, which he said has changed drastically and promotes MBAs over those with technical prowess. The current CEO is a finance / MBA type, so it's no surprise that the current culture favors that. In Intel's defense, the previous CEO was a process engineer. But, unfortunately, he couldn't keep his weiner in his pants. He also was probably the wrong choice as…

As somebody noted, when you have cornered a large part of the market, you don't feel as much technical pressure, and success in selling becomes key. So sales and MBAs start to run the show, because it makes the business sense, and while doing so risk to lose the sight of the technological advances that made the dominant position possible. Intel's founder, Andy Grove, used to say: "Only the paranoid survive". (He pers…

This seems to be a reasonable explanation. Even with sales and MBAs running the show, they know that they will always need something competitive to sell. For the longest time Intel relied on shrinking dies and single-threaded performance advantage. They didn't continue to race ahead with shrinking and as noted AVX-512 is not the hit to save them. They need more but may have misjudged that or believed too much of their own sales/marketing lacking sufficient paranoia.

The future will be more consumer appliance-like devices rather than PC-like products. I would much rather use a laptop/OS that suspended/resumed like an iPad with low power consumption (cool/quiet) and extended battery life. Apple has a way to this future. AMD can run on servers and gaming rigs. Intel needs something like a ChromeOS or Fuchsia to do everything (a cloud desktop rather than a browser) to be mainstream. I would use Clear Linux if it was more than an academic experiment--had a good desktop and repos that had a maintained useful fraction of Ubuntu packages (i.e. packages are up to date, used, have good defaults, etc).

Re: What's wrong with Intel, and how to fix it: Former principal engineer unloads

#22

> Ryzen’s “Hyper-Threading” looked good because of poor single-threaded performance So if my CPU is one of the worst in single-threaded performance, then multi-threaded performance will be the best? That make no sense and this guy doesn't seem like he knows what he is talking about..

He's completely right. Hyperthreading is all about putting idle functional units to work when you can't extract instruction level parallelism from single threaded code. His claim is that Intel processors did better and thus only got a small relative boost from HT (IIRC it used to be 10%, maybe it's 20% now). If your processor does poorer at ILP extraction, you get relatively more out of HT. This all agree with the be…

> This all agree with the benchmarks in which Intel still generally is ahead on single thread performance.

citation needed. benchmarks that I've seen [0][1] there is not that big of difference between the two.

[0] https://www.anandtech.com/show/15578/cloud-clash-amazon-grav... ZEN1

[1] https://www.anandtech.com/show/14694/amd-rome-epyc-2nd-gen/9 ZEN2

Re: What's wrong with Intel, and how to fix it: Former principal engineer unloads

#23

From the article: Piednoel didn’t spare words for Intel’s culture, which he said has changed drastically and promotes MBAs over those with technical prowess. The current CEO is a finance / MBA type, so it's no surprise that the current culture favors that. In Intel's defense, the previous CEO was a process engineer. But, unfortunately, he couldn't keep his weiner in his pants. He also was probably the wrong choice as…

> But, unfortunately, he couldn't keep his weiner in his pants.

My understanding is that he met his first wife while they both worked at Intel, but that was in a different era. Meeting your spouse at work used to be a common thing.

What you're referring to is more recent, but it's hard to fault the guy when Intel didn't say anything the previous time.

> Piednoel didn’t spare words for Intel’s culture, which he said has changed drastically and promotes MBAs

As organizations grow, nobody is left with a thread of understanding across departments of what is made.

That alone can explain what happened at both Intel and Boeing.

Unfortunately, anybody who does connect that thread, even before a looming disaster, will be labelled a naysayer, with no upside to them personally.

Re: What's wrong with Intel, and how to fix it: Former principal engineer unloads

#24
I've always wondered, if I compile an application and don't specify the architecture as explicitly having AVX, just say x86 64bit, will alternate code paths be in the binary for processors with AVX? Or alternatively, if I do specify AVX support on the command line, then what happens if the binary runs on a CPU without AVX? The reason I ask is I use commercial tools for circuit simulation, and they run on a wide range of CPU architectures, but it would be a shame if thst CPU compatability comes at a performance hit when run on a more capable CPU architecture

Re: What's wrong with Intel, and how to fix it: Former principal engineer unloads

#25
post #17
post #5

So Linus, and this guy is saying AVX512 was a bad idea. "“The state of software out there is really not favoring going larger vectors,” Piednoel said in the video. “In fact, you can see clearly in Cinebench for example—that is not one of my favorite benchmarks, especially for a laptop where it doesn’t make any sense—but you can see that AMD is winning the battle of throughput. It’s because they have more cores and th…

AVX-512 really has two parts. It widens vectors to 512 bits, but it also makes the instruction set much more orthogonal and clean. It also adds masking of lanes. These latter parts are what's really useful about AVX-512. The widening of the vectors is just an area tradeoff that depends a lot on the particular workload.

Unfortunately there is a clock penalty to using AVX-512 and it is only available on a small part of the chips that Intel ships (For the longest time it was only available on Xeons). AMD does not support AVX-512 yet. As a result no one really had the incentive to add support for it outside HPC where people have control of both the workload and the hardware it runs on. To further complicate matters there are multiple variants of AVX-512 and different chip families ship with different subset of the variants.

In short Intel could not have done more to discourage use of AVX-512 if they tried.

Re: What's wrong with Intel, and how to fix it: Former principal engineer unloads

#26
post #24

I've always wondered, if I compile an application and don't specify the architecture as explicitly having AVX, just say x86 64bit, will alternate code paths be in the binary for processors with AVX? Or alternatively, if I do specify AVX support on the command line, then what happens if the binary runs on a CPU without AVX? The reason I ask is I use commercial tools for circuit simulation, and they run on a wide range…

Wondered the same. I'm also curious if Apple's Accelerate framework uses AVX underneath when available. Sounds like an OK compromise if it's the case: maybe the compiler will miss a few opportunities to optimize some of your loops, but if you are aware of Accelerate you will use it in your audio/video processing anyway, which should be a win.

Re: What's wrong with Intel, and how to fix it: Former principal engineer unloads

#28

This is purely a total outsider's opinion, so I caveat that and please don't get all offended if I'm totally wrong. Sometimes it's really difficult to tell the difference between a crackpot theorist and a good equities analyst. Watching this guy's video, it's hard to tell which he comes off as more. He's just coherent and convincing enough that as an outsider I could believe his collection of observations. But the pr…

Francois is a smart guy, but there's a range of opinions on the matters he raises. We argue a good deal on Twitter ("constructive confrontation" between former Intel Principal Engineers :-) ). He put together the video pretty quickly so don't dismiss it just for lack of polish.

Personally, I argue with him a lot on AVX-512. I think AVX-512 is a Good Thing (or will be shortly - the first instantiation in Skylake Server - SKX - isn't great).

The biggest meta-problem with AVX-512 is that due to process issues, the pause button got hit just as it appeared in a server-only, 'first cut' form. AVX2 had downclocking issues when it first appeared too - but these were rapidly mitigated and forgotten.

I personally feel that SIMD is underutilized in general purpose workloads (partly due to Intel's fecklessness in promoting SIMD - including gratuitous fragmentation - e.g. a new Comet Lake machine with Pentium branding doesn't even suport AVX2 and has it fused off). Daniel Lemire and I built simdjson (https://github.com/lemire/simdjson) to show the power of SIMD in a non-traditional domain, and a lot of the benefits of Hyperscan (https://github.com/intel/hyperscan) were also due to SIMD. Notably, both use SIMD in a range of ways that aren't necessarily all that amenable to the whole idea of "just do it all on an accelerator/GPU" - choppy mixes of SIMD and GPR-based computing. Not everything looks like matrix multplication, or AI (but I repeat myself :-) ).

AVX-512 is a combination of fascinating and frustrating. I enthuse about recent developments on my blog (https://branchfree.org/2019/05/29/why-ice-lake-is-important-...) so I won't repeat why it's so interesting, but the learning curve is steep and there's plenty of frustrations and hidden traps. Intel collectively tends to be more interested in Magic Fixes (autovec) and Special Libraries for Important Benchmarks rather than building first-rate material to improve the general level of expertise with SIMD programming (one of my perpetual complaints).

You more or less have to teach yourself and feel your way through the process of getting good at SIMD. That being said, the benefits are often huge - not only because SIMD is fast, but because you can do fundamentally different things that you can't do quickly in GPR ("General Purpose Register") land (look, for example, at everyone's favorite instruction PSHUFB - you can't do the equivalent on a GPR without going to memory).

Re: What's wrong with Intel, and how to fix it: Former principal engineer unloads

#29
post #24

I've always wondered, if I compile an application and don't specify the architecture as explicitly having AVX, just say x86 64bit, will alternate code paths be in the binary for processors with AVX? Or alternatively, if I do specify AVX support on the command line, then what happens if the binary runs on a CPU without AVX? The reason I ask is I use commercial tools for circuit simulation, and they run on a wide range…

I depends on the compiler you use and the approaches it has to optional CPU features and the options you pass to the compiler.

For example, with GCC you can set the baseline CPU features. You can also use function multi-versioning to provide faster functions for CPUs with newer features.

https://lwn.net/Articles/691932/

Re: What's wrong with Intel, and how to fix it: Former principal engineer unloads

#30
post #24

I've always wondered, if I compile an application and don't specify the architecture as explicitly having AVX, just say x86 64bit, will alternate code paths be in the binary for processors with AVX? Or alternatively, if I do specify AVX support on the command line, then what happens if the binary runs on a CPU without AVX? The reason I ask is I use commercial tools for circuit simulation, and they run on a wide range…

Answer is generally no; you have to compile something with specific flags for a given architecture, and you will normally only get one path. There may be exceptions for some libraries which may do clever stuff, but generally you pick your level of machine support (usually low) and live with it.

Note that there are many new machines (Atoms and low-brand stuff like "Pentium" branded CPUs - even recent ones based on Comet Lake) which don't have anything beyond SSE4.x). IIRC they don't even have BMI/BMI2 which is a huge pain.

Post reply on HN