I have an application that runs just as fine on a 6 and 8 cores in the fields after having test it w/the Inspector XE for long time.
I need to produce a scaled down application that runs on 2 cores, also (small laptop)
It runs fine as long the debugger is present (I was told).
Stand alone it does not.
I believe then I got to have some race condition of some sort or something else un-noticed till I start to run inthis environement where 2 cores only are present.
Here the questions: (I only have a dual quad Xeon machine to develop on, on hand).
Q1: Can I scale back the process environment for my application making it believe that it hasonly 2 cores of the 8 to available,by working on the Affinity mask ? FYI: Notusing TBB, Open-MP or anything else- I use my own pool of threads to run in parallel by acting on a value Iset via registry.
Q2: would the Inspector XE take advantage of the remaining cores or not for its house-keeping, analysis?
Q3: any better ideas ?
Thanks to everyone for any hints or better ideas you can supply
- Development Tools
- Intel® Inspector
- Parallel Computing
If I understood correctly - you hope to run application on 2 of 8 cores (via CPU affinity in code, or else), and hope that Inspector XE works on remaining (other) cores.
1.By default, I think that InspectorXE maywork on2 cores where application runs, if OS scheduler allows to do this. Inspector XE will use all available 8 cores fairly if they are not busy.
2. Inspector XE only checks memory access error and thread error, their issuesare not core relevant. If you have concerns on performance (overhead) caused by Inspector XE, I can understand but it will not change the Inspector XE results.
3. If you want tobindInspector XE process to specific CPUn:
(ensure schedutils has been installed. If not, use "yum install schedutils" or "apt-get install schedutils")
a) Run Inspxe-gui; get pid
b) taskset 0x00000001 -ppid; bind Inspxe-gui on CPU0
As Peter mentioned, it looks like you want to run on 2 cores even though your system has 8 cores, because the problem appears only when running on 2 cores.
I'm not sure if there is a way to limit a process to just run on 2 out of 8 cores... The OS scheduler controls this so it might help to ask in their forum.
Once the OS has limited the process to 2 cores, Inspector XE will only instrument it on the two cores.
I end up using another technique. I am not sure if it is always possible to use and available in all multi-cores platforms.
Since the PC BIOS has the soft option to configure the number of processor to use (Processor Options), I decided to give it a try and sure enough it worked.
The Bios (Dell PowerEdge R410) allowed me to configure the PC for2, 4 or all (6 cores).
Thanks again for the help