My company has developed a multi-threaded video processing app for windows. It uses jpeg encoding / decoding, as well as many of the ippi functions. Everything ran great with IPP 5.1 on any processor at low usage ( 10 - 30% cpu), but when we went to IPP 5.2, the CPU started running at 100%, but only on multi-core processors (like core 2 duo). There was no performance decrease on single-core chips.
We originally thought it might have something to do with hyper-threading, but from reading these forums, I have learned that it may have something to do with not using ippSetNumThreads(1), or not setting OMP_NUM_THREADS to 1.
We can get the same bad performance with 5.1 if we run without libguide40.dll in the path. Suddenly, our nice app will perform badly and peg the processor at 100%. What exactly does libguide40.dll do?
For the time being, we have downgraded to 5.1. However, we may try 5.2 again soon, but I want to have a list of ideas to try to get the performance back. Are there any others suggestions out there on what to try to get the performance levels back with 5.2?
Thanks in advance