Benchmarking LLVM's Clang OpenMP Support Against GCC
With it looking like LLVM Clang 3.5 might finally have OpenMP support, I tested out Intel's latest out-of-tree LLVM/Clang OpenMP code to see how the performance compares to GCC for this multi-processing API. Overall, the Clang results increase the level of competition against GCC.
This past weekend following word that it looks like LLVM/Clang 3.5 might finally have OpenMP support, I tested Intel's current code (clang-omp) by using their latest Git code of LLVM, Compiler-RT, and Clang as of Sunday (25 May). I also installed the latest version of Intel's OpenMP Runtime Library. With Intel's Clang-OMP code I compared it to the stock LLVM Clang 3.4 as packaged for Ubuntu 14.04 LTS and then against GCC 4.9.0 to see the OpenMP support currently offered by the latest version of the GNU Compiler Collection.
A range of Phoronix Test Suite tests that utilize OpenMP as their multi-threading interface were used to gauge the performance against GCC. It's also important to note that GCC 4.9.0 introduced OpenMP 4.0 support while LLVM Clang right now with the clang-omp branch supports just OpenMP 3.1 but OMP 4.0 support is currently being addressed for a later introduction. All of the testing happened from an ASUS Zenbook Prime UX32VDA laptop/ultrabook with Intel Core i7 3517U processor; other Clang OpenMP tests from systems with greater cores will come in due course, this is just some testing I did over the past weekend.