Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

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.


0 Kudos
2 Replies
Black Belt

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

Black Belt

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