Reducing the execution time of the code using ICC compiler
I开发者_如何学C am working on certain DSP based algorithms which involve massive computation. I have used the gcc library with all the options (-O3, -ftreevectorize...). The execution time of the whole code is 43 ms. I run the same code using the ICC compiler but there is no significant reduction in the execution time of the code. How can I reduce my code execution time in ICC without modifying the existing code? (without using SIMD/S and asm)
If your requirements for floating-point math are not stringent, the easiest optimization will come from icc -fast file.c
However, this will turn on -no-prec-div
as well, which you might not want. In that case, try passing icc -03 -axSSE4.1 -ipo file.c
If you are willing to put a bit more time into compiling, you may be able to get substantial speed benefits from profiling. icc -03 -axSSE4.1 -ipo -prof_gen file.c
will set you up to generate a profile. Then run your code a few times, exercising the most common use case, and recompile using icc -03 -axSSE4.1 -ipo -prof_use file.c
精彩评论