3 ms·
> which in some workloads does a better job of optimization than gcc Is this really true in a meaningful way? I mean, unless you happen to have an identical wo
by dkersten 8y ago
> which in some workloads does a better job of optimization than gcc
Is this really true in a meaningful way? I mean, unless you happen to have an identical workload to the benchmarks?
I ask because the benchmarks and reports I've seen over the past ten years or so have really been quite disappointing in terms of icc's performance. I always assumed it must produce better performance code because its a proprietary product by the people who created the architecture and so they must know how to optimise for it, but from what I've seen, there's really not a big difference at all: some things icc has a slight lead and other things gcc does, but overall, they really don't seem to perform much differently. Unless you're making use of all the Intel libraries (Performance Building Blocks, Math Kernel Library, etc), in which case, I imagine they've tuned it for icc, there doesn't seem to be much reason to use icc especially since they've been known to pessimize for AMD cpus).
Am I wrong?
- bluGill 8y agoDepends on your workload. A 1% difference between compilers can be very significant in a tight loop across a few thousand cores over several days. In other cases even a 100% difference wouldn't be noticed.
- celrod 8y agoI think icc's biggest advantage is automatically translating appropriate calls into calls to those performance libraries and linking them. If you manually make calls in GCC, I bet you'd see similar performance much of the time. icc also seems to more aggressively parallelize, even places you didn't ask it to.