I am seeing something very similar. Although with VS2003 and XP32 all is
fine, the same code compiled with VS 2005 and ran in 64 bit XP or 64bit W2k3
Server will exhibit this behavior.
For example, I run two instances of Einstein@home and they have both cpu's
pegged, each process shows 50% utilization.
When I run my app which creates one thread per cpu, and they're very
computationally instense, my app is only showing 50% processor usage and one
of the EInstein@home instances remains at 50%. This behavior is not exhibited
with compile of same code with VS2003 and run under XP Pro 32 bit, he same
code shows my app using 99% and both EInstein instances at 0%. Note that the
Einstein instances are running at a lower priority. I've tried changing
thread priority but there's no difference in behavior.
Would setting thread affinity possibly remedy this? It seems the OS is not
scheduling correctly.
--
Still writing code...
"LLessieux" wrote:
Hi,
I have been seeing a strange behaviour when doing some tests on a Dual -
Dual Core Opteron system using Windows XP (32bits with SP2).
In out application we have a wrapper around the thread pool to handle the
work on renderers and CPU intensive tasks. On the Dual - Dual Core Opteron,
the application is correctly starting 4 threads but it seems to be running
only 2 concurrently.
In fact, It's when checking the performance that i realized something was
strange. My AthlonX2 4800 was as fast as my Dual Opteron 285...
Also we are using SetThreadIdealProcessor with the thread index (0 to 4 in
that case) but that does not seem to have an effect at all. Even commenting
it didnt change a thing.
Any idea ?
Laurent.