[molpro-user] MOLPRO, MPIRUN & DPLACE

Nick Wilson WilsonNT at Cardiff.ac.uk
Tue May 17 16:16:35 BST 2005

Dear Joseph,

The molpro front end decides what it thinks are the correct settings for 
mpirun and dplace and then launches the main molpro executable with 
these settings. So doing:

  molpro -n 2 input.com

will run "mpirun -np 2 dplace -s1 molpro.exe" giving the processes:

molpro   32049 28204  0 07:10 pts/1    00:00:00 ./bin/molpro -n 2 input.com
molpro   32050 32049  0 07:10 pts/1    00:00:00 mpirun -np 2 
/usr/bin/dplace -s1 /home/molpro/molpro2002.6/bin/molprop_2002_6_i8_mpi.exe
molpro   32053 32050  0 07:10 pts/1    00:00:00 
molpro   32060 32053 83 07:10 pts/1    00:00:05 
molpro   32061 32053 98 07:10 pts/1    00:00:05 

There isn't currently a mechanism for modifying the arguments given to 
dplace as it is hardwired into utilities/molpro.c at line 1578. This 
would have to be modified to accept extra arguments. Alternatively you 
could place a script called dplace earlier in your PATH which adds the 
extra arguments and then calls /usr/bin/dplace.

The first process (32053 in above example) just handles housekeeping and 
so doesn't need to be placed which is the reason for the -s1 flag and 
only the two processes 32060 and 32061 are actually placed.

By default dplace should place the executables on the cpus which have 
the least number of executables already tied to them by dplace so I'm 
suprised that this load balancing is not working correctly. When I tried 
running several jobs "dplace -q" reported that the the executables had 
been placed on separate cpus.

The dplace man page mentions a "runon" command which can be used thus:
  runon 1-2 molpro -n 2 input.com
but I couldn't find it on the altix machine that I have access to.

Best wishes,
Nick Wilson

Joseph Lane wrote:
> I am having difficulties submitting jobs to specific chips within my 
> SGI  Altix 350. It seems that whenever I run molpro using mpirun and 
> dplace, it  automatically uses the default arguements and ignores my 
> user specified  dplace arguements. This is resulting in some chips 
> running more than one  job, while other chips remain idle.
> from a ps -ef, I run
> jo       14687 25166  0 11:17 pts/2    00:00:00 mpirun -np 2  
> /usr/bin/dplace -e -s1 -c6-7 /home/qchem/molpro2002/molprop_2002_6_i8_mpi
> which results in
> jo       14690 14687  0 11:17 pts/2    00:00:00  
> /home/qchem/molpro2002.6/bin/molprop_2002_6_i8_mpi
> jo       14691 14690  0 11:17 pts/2    00:00:00 mpirun -np 1  
> /usr/bin/dplace -s1 /home/qchem/molpro2002.6/bin/molprop_2002_6_i8_mpi.exe
> i.e it ignores the request for 2 chips, using CPU's 6 & 7, and runs on 
> 1  chip (CPU 4)
> Can anyone please tell me the correct way to submit jobs using mpirun 
> and  dplace so that

More information about the Molpro-user mailing list