Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

icc compiled kernel performance

mingz
Beginner
414 Views
Hi folks

Wonder if anyone could share the experience about what kind of performance gain we expect from compiling linux kernel with icc. how you validate it? Since Linux kernel does not have any FP operations, will this reduce the benefit by using icc?

Thanks
0 Kudos
4 Replies
TimP
Honored Contributor III
414 Views
The big advantage of icc in comparison with a gcc which is tuned to your processor comes in vectorizable code, not so prevalent in the kernel. When you see time spent in the kernel in real applications, it may be spent on operations where the compiler is not a factor.
0 Kudos
mingz
Beginner
414 Views
i thought 2 places icc might do better than gcc

1) gcc take care the compatibility, so icc can do some processor specific optimization, especially those advanced&complex instructins like from SSE2
2) icc can do more aggressive optimization

so vectorized code is like part of 1), any special place in 2)?

thanks!

Ming
0 Kudos
TimP
Honored Contributor III
414 Views
If you make a rule that gcc must use code generation options compatible with all CPUs which it supports, while icc can optimize for your specific processor, icc has a potential advantage in the 32-bit case, maybe not a large one, as far as the kernel is concerned. Since you mention SSE, evidently you're not interested in Itanium.
I don't know that aggressive optimizations (beyond those normally used for building kernel) have a useful role there.
0 Kudos
mingz
Beginner
414 Views
when compile kernel and choose right processor type, kernel will use flags like -mtune=pentium or others. so with that enabled in gcc, do u still think icc will provide considerable advantage? also u mention 32bit, what about 64bit?

if icc can compile kernel smoothly and we run lmbench or alike benchmark can find performance difference, i will go ahead to do that. but that will take long time. so i would like to gain some opinions from you before jumping into that.

thanks.

ming
0 Kudos
Reply