Community
cancel
Showing results for 
Search instead for 
Did you mean: 
vixel
Beginner
43 Views

Troubles with threading under SUSE 11

Hi all,

I've use Intel Fortran 9.0 compiler on Core2Duo PC (openSUSE 10.3 64 bit and MPICH2) to compile scientific package, which I plan to run in parallel on 2 CPU's via mpirun. Everything works fine.

Now I've installed openSUSE 11.0 64 bit with the same versions of MPICH2 and Intel Fortran compiler. But when I run my program as mpirun -np 2 my_program, it runs as two processes at one CPU only.

I've used mpif90 from MPICH2, OMP_NUM_THREADS environment variable is not set.

Does anybody have an idea what to do? Any help will be greatly appreciated.

Victor

0 Kudos
2 Replies
jimdempseyatthecove
Black Belt
43 Views

It would appeare that the two processes are restricted to one core. This is not an OpenMP problem. This is likely a configuration problem with SUSE. What may be happening is when you start the main process a setting on SUSE is restricting the main process to one core (Affinity to one core). Then when the main process spawns the second process, the spawing is performed in a manner that inherits the affinity restrictions of the main process. I would start my search for problems in those areas first.

Why are you running as MPI on a single system? OpenMP would have lower overhead.

Jim Dempsey

jimdempseyatthecove
Black Belt
43 Views


Follow-up on last reply

Also check for the following

Your intentions are to affix the affinity of each process to one but seperate cores. You have a bug in your programming that does the following

1) Start main program
2) Set Affinity to 1 core
3) Spawn second program
4) Set Affinity to 1 core

The problem with the above is the process hardware thread set at step 4 is only 1 thread (that of the main program)

Change to

1) Start main program
2) Spawn second program
3) Second program sets affinity to 1 core
4) Second program replies to initialization (indicating present)
5) main program sets affinity to other core

Jim Dempsey

Reply