|
-
January 30th, 2009, 05:58 AM
#1
Core 2 duo problem
Hi folks.
We sell a measurement system that use a framegrabber card to collect images, then performs a bunch of calculations.
There has never been any problems whatsoever with this this software we've used it on many different hardware configurations over the years. It is for instance running with very stable FPS of around 330 on a Celeron 2 GHz.
But now we have for the first time installed it on a Core 2 Duo (3GHz) and for some reason there software just goes nuts. FPS jumps 9, 100, 22 and so on. There is no reason we can think of that this computer configuration could cause any problems, other than the dual core processor.
Is there any risk whatsoever that a Core 2 duo could cause problems when running an application not developed for multiple CPU:s?
OS: Win XP SP3
-
January 30th, 2009, 01:00 PM
#2
Re: Core 2 duo problem
I suppose it's possible that when switching from one core to the other, a lot of data needs to be flushed from various caches, and re-loaded.
Try setting the affinity for your program to one "processor", and see if that fixes the issue. In the task manager, find the process under the "Processes" tab; right click; select "Set Affinity" and set it to run on one core.
Viggy
-
February 2nd, 2009, 03:21 PM
#3
Re: Core 2 duo problem
Is your application multi-threaded?
-
February 3rd, 2009, 04:23 AM
#4
Re: Core 2 duo problem
 Originally Posted by MrViggy
Try setting the affinity for your program to one "processor", and see if that fixes the issue. In the task manager, find the process under the "Processes" tab; right click; select "Set Affinity" and set it to run on one core.
Will try that, thanks!
 Originally Posted by Arjay
Is your application multi-threaded?
Yes, the app is multi-threaded. But the threads are designed to wait for one another when necessary, so they should not mess things up...?
-
February 3rd, 2009, 12:24 PM
#5
Re: Core 2 duo problem
 Originally Posted by Cyanide
Will try that, thanks!Yes, the app is multi-threaded. But the threads are designed to wait for one another when necessary, so they should not mess things up...?
My guess is that the thread synchronization is flawed somehow. Often times thread synchronization issues aren't exposed when only tested on a single proc/single core machine. So if you've only tested on a single proc/single core machine prior to testing on the duo, I would bet that is the issue.
Make sure that any resources that are shared between threads are properly protected using a critical section, mutex or some other synchronization object.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|