So it’s disingenuous unless Intel is selling a complete HPC solution to customers which they aren’t here. TLDR: Intel is using a different compiler that produces optimizations for Intel chips without flags that AMD and Apple don’t get to claim hardware wins all on a compiler that really isn’t used for consumer software and likely isn’t the most used for HPC either (gcc likely is). If you want the most optimized version for each then at most I’d say use the same compiler but turn PGO on if you want the most optimized machine code for each processor - at least the compiler is still the same. Why for instance would you assume that Intel would get a free 48% increase but not anybody else if the same techniques were applied? Basically again you’re measuring the difference in compiler not hardware. We actually don’t exactly know what compilation techniques they used because it’s a closed source variant of an open source backend so we can’t say for certain what is and is not available elsewhere. But that’s not to say that this is reflective of anything but compiler differences and the others could very well get the same uplift.Īnd therein lies the rub. They also sometimes have used specialized libraries that Spec calls on that Intel has rewritten to be faster on Intel chips. Incredibly impressive compiler engineering (occasionally breaks stuff though and not all programs benefit). What Intel is doing here is basically using a highly specialized auto vectorization tool that normally would require you to manually rearrange or pragma your code for the compiler to recognize the opportunity to vectorize. Intel has been doing this for years and as a result people have a pretty good idea of how they achieve this. In terms of could Apple and AMD get similar uplifts? Yes and no. I think that Apple’s Xcode has a built in flag that standard clang doesn’t that helps a lot in one specific subtest. As far as I can tell, Apple upstreams everything as clang is basically their baby. Apple does do weird things like take the compiler from the version and library from this other version which pisses some people off because it makes the build idiosyncratic, but for the purposes of benchmarking it’s basically identical. Andrei measured results to a clang he downloaded and ran and the results were almost identical. Click to expand.No it’s standard clang 9 something.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |