Intel C++ Compiler?

DSP, Plug-in and Host development discussion.
User avatar
WilliamK
KVRAF
4490 posts since 12 Jun, 2001 from Wusik Dot Com

Post Mon Jan 21, 2019 10:51 am

Anyone had luck with the Intel C++ Compiler? I tried it for weeks, made a lot of progress with optimizations, but in the end it was just too much trouble and problems to really use it for final builds... :shrug: In the "old" days, I would only use the intel compiler, go figure...

Cheers, WilliamK

User avatar
telecode
KVRist
335 posts since 24 Mar, 2015 from Toronto, Canada

Re: Intel C++ Compiler?

Post Mon Jan 21, 2019 11:26 am

Hi, what do you mean? Are you having trouble compiling C code? I personally don't make C programs, but support them. Its usually fairly straight forward. Most devs use gnu cc. A few use Intel's one. As long as you confirm to the coding standards you should be fine.

FWIW, a lot of the compiler support is in google groups these days.
Just a keep on a goin' a forward, without a single ounce of fear
Image

User avatar
WilliamK
KVRAF
4490 posts since 12 Jun, 2001 from Wusik Dot Com

Re: Intel C++ Compiler?

Post Mon Jan 21, 2019 11:43 am

Hey there. I had some crashes within the compiler itself and Intel couldn't reproduce it. Them I found a workaround, but the whole compiling process was uuuuultra slow and nearly took my computer down. It is an old computer, so ok... I went ahead and rented an cloud-computer that had modern specs, 32 Gig of RAM. The same thing, very slow, crashed in the same location. So I decided to use the optimizations to see if that would speed up my code, and it did, a lot. But one user reported that the .dll file wouldn't work on his Windows 10 machine, but the MSVC compiled .dll file would. So I tried to find if it needed the run-time libraries. The user installed all from Intel, no dice... so I wonder if I should keep trying or just give up... the lower CPU usage on the final builds is really a good thing, but the compiler price is indeed very high. I did find an option for the community version that is free, but I don't know how legal is to make commercial stuff from it.

Cheers, WilliamK

User avatar
WilliamK
KVRAF
4490 posts since 12 Jun, 2001 from Wusik Dot Com

Re: Intel C++ Compiler?

Post Mon Jan 21, 2019 11:47 am

Here are my very non scientifically tests.... :hihi:

CPU USAGE IN % (I created a patch with several voices playing all voices steady - single core output)
58 - 60 - Visual 2017 all opts (whole program opts too)
55 - 56 - Intel 2019 with /Qip
56 - 57 - Intel 2019 with /Qip /Qftz /Qopt-matmul /Qunroll:9 /Qparallel /Quse-intel-optimized-headers
54 - 55 - /Qipo on the VST and VST3 files --- Intel Math Kernel Library: Use Intel MKL=Sequential --- /Qip /Qftz
53 - 54 - All the above plus: /Quse-intel-optimized-headers
54 - 55 - All the above plus: IPP multi-threaded static
52 - 53 - Intel Math Kernel Library: Use Intel MKL=Parallel, Use ILP64=Yes --- /Qip /Qftz /Qopt-matmul /Quse-intel-optimized-headers
52 - 53 - Intel Math Kernel Library: Use Intel MKL=Parallel, Use ILP64=Yes --- /Qip /Qftz /Qopt-matmul /Quse-intel-optimized-headers /O3 /Qprec-div- /fp:fast=2 /QxSSE2
54 - 55 - All above plus /Oi /Ob2 /Ot - INCREASED
52 - 53 (but stays mostly at 52, sometimes even 51) - /Qip /Qftz /Qopt-matmul /Quse-intel-optimized-headers /O3 /Qprec-div- /fp:fast=2 /QxSSE2 /Qinline-factor:800 /Qopt-report:4 /Qopt-report-phase ipo

Best so far
52 - 53 (but stays mostly at 52, sometimes even 51) - /Qip /Qftz /Qopt-matmul /Quse-intel-optimized-headers /O3 /Qprec-div- /fp:fast=2 /QxSSE2 /Qinline-factor:800 /Qopt-report:4 /Qopt-report-phase ipo
52 steady - Added to the above /Qparallel replaced /QxSSE2 with /QxSSE3

User avatar
telecode
KVRist
335 posts since 24 Mar, 2015 from Toronto, Canada

Re: Intel C++ Compiler?

Post Mon Jan 21, 2019 11:58 am

Sorry man. All this stuff is way out of my territory. I work mostly on Unix type systems. You may want to hit the Microsoft Technet developer forums and see what the devs over there have to say.

https://developercommunity.visualstudio ... index.html

Your code is that the code that it is. You issues/challenges are Microsoft's implementation of C and the Visual Studio product. Those guys will have a better handle of it.
Just a keep on a goin' a forward, without a single ounce of fear
Image

User avatar
WilliamK
KVRAF
4490 posts since 12 Jun, 2001 from Wusik Dot Com

Re: Intel C++ Compiler?

Post Mon Jan 21, 2019 12:00 pm

Thanks. :cool:

User avatar
vortico
KVRist
253 posts since 19 Jul, 2008

Re: Intel C++ Compiler?

Post Mon Jan 21, 2019 12:40 pm

Used to work at a government lab on numerical solvers. Had no problems invoking icpc, although I wasn't linking with crazy graphics libraries and APIs like VST. However, the optimization was mind blowing. GCC produces fast elegant code and converts basic loops into what you'd expect with SIMD instructions. ICC on the other hand produces assembly that was written by aliens with 2000 IQ and understands what you meant better than you do. It can produce instructions you didn't even write that computes the probability of all scenarios of input data so that the most efficient path is chosen based on properties of the input data.

But IMO the bottleneck with 1-dimensional DSP is never CPU but memory/cache bandwidth, so GCC is just fine, or even clang.
VCV Rack open-source virtual modular synthesizer

User avatar
discoDSP
KVRAF
4041 posts since 18 Jul, 2002 from Spain, Europe

Re: Intel C++ Compiler?

Post Tue Jan 22, 2019 4:48 am

WilliamK wrote:
Mon Jan 21, 2019 10:51 am
Anyone had luck with the Intel C++ Compiler? I tried it for weeks, made a lot of progress with optimizations, but in the end it was just too much trouble and problems to really use it for final builds... :shrug: In the "old" days, I would only use the intel compiler, go figure...

Cheers, WilliamK
From my experience the optimisations and hassles are not enough to switch over the stock compiler.

keithwood
KVRist
61 posts since 24 Dec, 2015 from Bristol, UK

Re: Intel C++ Compiler?

Post Tue Jan 22, 2019 8:44 am

I'm assuming you're interested in the Intel compiler to maximise the speed of your code. This cppcon talk might be worth a look: https://www.youtube.com/watch?v=w5Z4JlMJ1VQ

He compares Clang, Gnu and Intel compilers.

User avatar
Richard_Synapse
KVRian
897 posts since 20 Dec, 2010

Re: Intel C++ Compiler?

Post Thu Jan 24, 2019 12:27 pm

We have been getting (much) better performance using Intel compilers ever since we started using them about 15 years ago. The reasons for this are obvious once you look at the generated machine code. Non-Intel compilers tend to mess up even simple things like code inlining in some cases. So it is certainly worth testing what the Intel compiler can do with your code. If there is not much of a performance difference, don't bother with it.

Richard
Synapse Audio Software - www.synapse-audio.com

User avatar
WilliamK
KVRAF
4490 posts since 12 Jun, 2001 from Wusik Dot Com

Re: Intel C++ Compiler?

Post Thu Jan 24, 2019 12:37 pm

:hug:

Return to “DSP and Plug-in Development”