Hi all, I got a TSVC benchmark fromhttp://polaris.cs.uiuc.edu/ maleki1/TSVC.tar.gzIt is used to evaluate the vectorization of compilers. I am trying to test icc with it. I changed the makefile to use icc and I am trying to see the timing of it. The code is simple, there are 151 main functions, each of them has a typical loop and it's own initialization. Each of them prints out it's timing and a certain correctness checking result. main() function calls these 151 functions. I found something confusing happened for function s162(). In main() function, if I comment out all function calls behind s162(), then it's timing is 2.x sec on e5-2680; but if I do not comment them and just use the original code, it timing is 4 sec. This can be repeat and is not randomly happened. It doesnt matter whether I keep or comment those function calls before s162(). It is the point that confuse me since only later part after s162() matters. I compared the .s of these s162(), seems there no instruction related difference.(The correctness check result are the same for this two cases. ) The platform I am using is: Chip: Xeon E5, 2680. OS: GNU/Linux ICC:icc (ICC) 12.1.3 20120212 This also happens when I run it on Xeon 5660. Timing is 3.x and 6.x. The platform info is: Chip: Xeon 5660 OS:GNU/Linux ICC:icc (ICC) 12.1.2 20111128 Attachment is the original pakage and the makefiles I used for above two platforms. I wish get your precious advise on what the reason is. It looks like a silly question, but I hope I could learn from you and figure it out. Thank you for reading. Best Regards, Susan
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.