![]() |
ICC performance gain
1 Attachment(s)
Hello, just out of interest i compared msieve performance when compiled with ICC and gcc 4.3.
Hardware : model name : Intel(R) Core(TM)2 Duo CPU E8500 @ 3.16GHz ram : DD2 8500 Software: gcc (Debian 4.3.2-1) 4.3.2 icc (ICC) 11.0 20080930 Flags : gcc : -O3 -fomit-frame-pointer -march=core2 -D_FILE_OFFSET_BITS=64 icc : -fast -fp-model precise -D_FILE_OFFSET_BITS=64 GMP was used, compiled with gcc (I could'nt get it to compile with ICC before giving up) Number to be factored (random 100 digits number generated with openssl): 1802716097522165018257858828415111497060066282677325501816640492782221110851604465066510547671104729 I tried to be as fair as possible and copied the factor base from the first run (gcc) for the icc run and fixed the random number in the source. Results : GCC : [CODE]Mon Nov 17 03:29:59 2008 prp50 factor: 38589340584901213653958931179714585367490014795273 Mon Nov 17 03:29:59 2008 prp50 factor: 46715390058453362424711065024780497160328505582673 Mon Nov 17 03:29:59 2008 elapsed time 31:46:11[/CODE] ICC: [CODE] Tue Nov 18 13:39:01 2008 prp50 factor: 38589340584901213653958931179714585367490014795273 Tue Nov 18 13:39:01 2008 prp50 factor: 46715390058453362424711065024780497160328505582673 Tue Nov 18 13:39:01 2008 elapsed time 27:00:43[/CODE] Full logs are attached |
Thanks, that's good to know. Brian Gladman has kindly performed a complete overhaul of the preprocessor defines for compiler-specific inline asm, so that the next version will allow icc to reuse all the gcc-specific assembly language. I suspect that it currently does not.
Was this a 64-bit or 32-bit binary? |
64 bits.
Do you mean msieve will use gcc intrinsics ? I have seen with other programs that ICC register allocator and optimisations are dramatically more efficient than gcc (for SSE2) |
I meant using gcc-format inline asm statements, which according to Brian can be parsed by icc. He also reports favorable speedups on windows.
|
maybe it would be worth trying intrinsics, i'll try to check if I have time
|
Actually, Intel's compiler could probably benefit from a prefetch intrinsic. The code has gcc and MSVC versions but no icc version in include/util.h
|
All times are UTC. The time now is 06:03. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.