I have an Intel Core2Duo PC. Some times ago I’ve installed openSUSE 10.3 64 bit, MPICH2, Intel Fortran and C compilers. Then I’ve compiled some scientific packages, 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, the same versions of MPICH2 and compilers. The problem is that when I run my program as
mpirun -np 2 /home/some_path/my_program
it runs at one CPU only. Using the top command I saw two processes at one CPU with CPU loading of 50%.
Does anybody have an idea what to do?
Any help will be greatly appreciated.
Core2Duo has two cores, each hyperthreading. Perhaps set your number
processors to four so it uses all four “processors” (2*2) and see if
that helps. You could also disable hyperthreading in the BIOS and have
the system only see the two cores. This is all a guess, btw…
Good luck.
vixel wrote:
> Hi everybody,
>
> I have an Intel Core2Duo PC. Some times ago I’ve installed openSUSE
> 10.3 64 bit, MPICH2, Intel Fortran and C compilers. Then I’ve compiled
> some scientific packages, 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, the same versions of MPICH2
> and compilers. The problem is that when I run my program as
> mpirun -np 2 /home/some_path/my_program
> it runs at one CPU only. Using the top command I saw two processes at
> one CPU with CPU loading of 50%.
> Does anybody have an idea what to do?
> Any help will be greatly appreciated.
>
> Regards,
> Victor
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
It cannot get completely your problem, anyway I can tell you as I use mpirun on the “lam” implementation on OpenSuse 11 (there could be some differences with the MPICH implementation of the MPI standards) I experienced no differences with previos suse version.
I use the “hostfile” in which each record declare the host name and the number of CPU presents on the host computer:
myhostname cpu=2
Before to run “mpirun” you need to boot “lam” that uses the hostfile to load the cluster schema
>>lamboot -v ~/hostfile
then you can run as many process as you want, lam will load, in a round robin, the processes to the available CPU for you.
Take care of the fact that lam use ssh to boot the cluster schema as defaults.
That’s not the case according to Anandtech and the sources I’ve read, after all one of the features of the new Nehalem (i7) is that 4 cores, now support HT again but done right rather than the P4 bodge.
AnandTech: Intel’s Core 2 Extreme & Core 2 Duo: The Empire Strikes Back
“As the name implies, all Core 2 Duo CPUs are dual core as is the Core 2 Extreme. Hyper Threading is not supported on any Core 2 CPU currently on Intel’s roadmaps, although a similar feature may eventually make its debut in later CPUs. All of the CPUs launching today also support Intel’s Virtualization Technology (VT), run on a 1066MHz FSB and are built using 65nm transistors.”