I am profiling my code on three separate computers. The computer that is supposed to have better specs runs 50% slower then the other computers using IPP. The core i7 930 runs the code 50% slower than the core i7 860 and core i7 920 in my hot spots. I used Amplifier to profile. The IPP functions that I used are way at the top on the 930. on the computers where the code runs faster, they don't even show up. The code is exactly the same. I don't understand? The 930 is a fresh new computer built from scratch two days ago. So it has less software installed. Mother boards are identical between the 920 and 930. but the 920 still runs 50% faster than the 930.
Ok, now i'm really stumped. The 920 and the 930 are dispatching the same dll's. I changed it to non static to see if it helps. It didn't. The performance is the same. the 930 still runs twice as slow and the IPP functions are bubbling up at the top of Amplifier. I am really stumped. The code is identical. What other factors should I be looking at? Should I swap CPU's and see if the 930 is faulty?
Unfortunatly I cannot. As we use some hardware. I will try to emulate it without the hardware we use. I have tried reinstalling the os, going to raid0 and back. All the same. The i7 930 is still twice as slow. Is it a configuration isssue somewhere? I alsso tried putting in faster ram. I don't understand. I will try to setup a test build so I can send up.
Actually, it's not using 100% in either case.... but it gets weirder... from a fresh reboot the timing is about 2.7 ms per iteration in my hotspot. Then, after about a minute it goes up to 5.5ms per iteration and stays there until I do another reboot.
What is going on here? And I even rebuilt a brand-new machine with a new motherboard and using i7 950. I am really stumped. Does anyone know of something that could be conflicting with IPP? I have tried dumping the process running in both cases nothing jumps out at me. In both cases, the number of processes running are 47.
EDIT: I have added an excel book with two sheets outlining the timings. The ipp modules are the biggest difference. The first sheet is running on a 950(bad performance) the second on a 920(good performance)
It is the power plan under Windows 7. I ended up reinstalling the os on one of the machines that was working at optimum speed. Well, not to my surprise after the reinstall the performance was not optimal.... It was the power plan. By default Windows 7 sets it Balanced. I changed it to HighPerformanceand presto! All is well now. At least now I can sleep. :)
Thanks for all the help and suggestions in this thread.
One last bit of idea: some cpus use throttling to prevent the cpu to prevent overheating the cpu chip, when running a high cpu process for a while... In that case, one could use cpu-z to monitor the actual cpu clock, and then see if it changes after a while.