Community
cancel
Showing results for 
Search instead for 
Did you mean: 
vectorizor
New Contributor I
86 Views

ICL on OS X

Hi all,

I've been a faithful user of ICL on Windows for some years, and I now have to compile some of my libraries to the Mac platform. The main problem I have is that I cant reproduce the level of performance I achieve on Windows.I'm starting with one static library (pure C), which compiles fine with ICL. I also wrote a small cmd line app, compiled with gcc, which calls this lib, to mimic my customers' environements.

First the .a file is huge(21MB, the equivalent on Windows is less than 1MB). On windows this typically happens when the optimization is done at link stage, and there is a way to say to ICL via VC++ that optimization should not be done when linking, but earlier, during compilation.But I cannot for the life of me find where to do the same on the Mac.

Second, the executable is really slow, as slow as gcc really, and also slower than its Windows equivalent when I run Windows on my Mac.

Are there specific steps to follow to properly setup ICL with XCode? Any advices welcome.

A
0 Kudos
1 Reply
Quoc-An_L_Intel
Employee
86 Views



In order to get ICL to work in Xcode, you need to set up the rule setting in Xcodeto use Intel compiler for C and C++ files. There is a section explaining that in the user guide. You have to do that for each target that you want to build with Intel Compiler.

Check here for supported compiler / OSX / Xcode combination:
http://software.intel.com/en-us/articles/performance-tools-for-software-developers-compatibility-of-...

For performance comparison, you should be comparing performance of the native development tools such as gcc on Mac versus Intel compileron Mac, and Intel compiler on Windows versus MS compiler on Windows.

It's interesting that performance of the windows binary running on a Mac hardware with Windows OS is faster than Mac OSX on a Mac, but I don't think that's a valid comparison. The OS and hardware you are using might havean
impact on performance.
Reply