Dear all,
I'm trying to lunch an MPI program using the command
mpirun -np 64 my_exe < inputs.txt
inputs.txt actually contains the entries that are read by all processes
however it seems that openmpi redirect the stdin only to the processes with
rank 0. with leads to a segmentation fault on
Why not modify your program to read inputs.txt instead of stdin?
2009/10/7 Kilou Zelabia :
> Dear all,
>
> I'm trying to lunch an MPI program using the command
>
> mpirun -np 64 my_exe < inputs.txt
>
> inputs.txt actually contains the entries that are read by all
Ok thanks!
That's a solution but i was wondering if there could exist a more elegant one ?
means without any modification at the source level
De : Roman Cheplyaka
À : Open MPI Users
Envoyé le : Mer 7 Octobre
As a slight modification, you can write a wrapper script
#!/bin/sh
my_exe < inputs.txt
and pass it to mpirun.
2009/10/7 Kilou Zelabia :
> Ok thanks!
> That's a solution but i was wondering if there could exist a more elegant
> one ? means without any modification at the
Or better still if you want to be able to pass the filename and args on
the mpirun command line use the following and then run it as
mpirun -np 64 ./input_wrapper inputs.txt my_exe
#!/bin/bash
FILE=$1
shift
"$@" < $FILE
In general though using stdin on parallel applications is rarely a good
FWIW: an upcoming version will have the ability for you to specify all
ranks to receive stdin...but that's a little ways off.
For now, only rank=0 does.
On Oct 7, 2009, at 9:42 AM, Roman Cheplyaka wrote:
As a slight modification, you can write a wrapper script
#!/bin/sh
my_exe < inputs.txt
Hello Jeff and Kiril,
Thank you for your responses. Based on the information you both provided, I
was able to get buildrpm to make the OMPI RPM the way I wanted. I ended up
having to define _prefix , _mandir , and _infodir .
Additionally, I found I had to use --define "shell_scripts_basename