4 ms·
I paused when I read Intel compiler - that thing is a steaming pile of crap, or at least was for godawful number of releases for a long time and I don't expect
by blinkingled 11y ago
I paused when I read Intel compiler - that thing is a steaming pile of crap, or at least was for godawful number of releases for a long time and I don't expect it to ever work in the real world with a non-trivial amount of C++ code base. And then I read about a Mozilla header causing it to ICE!
Years ago, I was forced to make a company's product faster by "simply" recompiling it with ICC. It was losing in the benchmarks department and they were told by customer to go away until they could compete. Addicted to easy money they blamed the compiler (VC on Windows, gcc on Linux - how conveniently both were bad at optimizing.) I had a hell of a time getting the compiler to be consistent - it would, for example, ICE on code after re-ordering headers! Their support was atrocious too - but that wasn't entirely their fault, at that level of messiness only a complete rewrite of the compilers by non-PhDs might have saved it.
- eps 11y agoI had the exact opposite experience with Intel's "steaming pile of crap" as you put it. We had a computationally intensive app that was sped up by 25% compared to the version produced by MS compiler. This was few years ago though.
- blinkingled 11y agoYep, I could totally see it speeding up computationally intensive code - but try downloading it and using it to compile entire code bases with medium to high level of complexity - like ACE/TAO or Qt or any other OSS project. It might compile at low optimization settings but then it's not faster and the moment you try to use optimizations it makes your life hell.
- tosseraccount 11y agoGetting a recent qt to make clean with any compiler is a pain.
- slavik81 11y agoWhat's sort of problems did you have? I haven't tried since 5.3, but it worked fine just following the directions on the wiki: https://wiki.qt.io/Building_Qt_5_from_Git https://wiki.qt.io/Building_Qt_5_from_Git
- elbows 11y agoWe used the Intel compiler at my last job and also had some good speedups. But we also ran into a lot of bugs where it would generate non-working code at the higher optimization levels. For us, the performance was worth the effort of working around the bugs. But that's probably not the case for most projects.
- lobster_johnson 11y agoFor a number of years it also produced code that ran much slower on AMD processors. The Intel compiler is used to compile a bunch of benchmark tools that tech sites use in their reviews, so this (in conjunction with certain other brutal strategies on Intel's part to pressure and bribe vendors into selling Intel only) basically contributed to the destruction of AMD's market share in the early-to-mid 2000s.
- gsnedders 11y agoIt still does, as far as I'm aware. The current optimisation notice is <https://software.intel.com/en-us/articles/optimization-notice/> https://software.intel.com/en-us/articles/optimization-notic.... For those who don't want to click a link or are using screen-readers (because yay textual content as an image!): > Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
- agumonkey 11y agoI remember the dread I felt when I read that news, but it went away real quick .. I'm not even sure it was the whole story. I expected more backlash against intel for rigging a whole market that way.
- lobster_johnson 11y agoThere's an excellent summary on Reddit [1]. Apparently there's a court order, as part of a settlement with the FTC [2], intended to stop the cheating, but apparently as of 2010, Intel still wasn't honouring it. [1] https://np.reddit.com/r/pcmasterrace/comments/3s5r4d/is_nvidia_sabotaging_performance_for_no_visual/cwukpuc https://np.reddit.com/r/pcmasterrace/comments/3s5r4d/is_nvid... [2] https://www.ftc.gov/news-events/press-releases/2010/08/ftc-settles-charges-anticompetitive-conduct-against-intel https://www.ftc.gov/news-events/press-releases/2010/08/ftc-s...
- alfalfasprout 11y agoThe problem is that expecting code to just be randomly faster by compiling it with ICC is a pointless endeavor. For numerical code, ICC is amazing. But that's mainly because the automatic vectorization is far beyond anything clang can spit out (which is already better than gcc at automatic vectorization). Even then, icc really benefits when you use its proprietary pragmas for hints. The VTUNE profiler is amazing though