[PATCH] --pipe option

Pete Wyckoff pw at osc.edu
Mon May 23 10:47:37 EDT 2005


Dries.Kimpe at wis.kuleuven.ac.be wrote on Thu, 05 May 2005 18:34 +0200:
> I've created a small patch for mpiexec (against 0.79, also applies to 
> the current CVS head). It adds a --pipe option, which allows running an 
> arbitray command to transform the hostlist. The --transform-hostnames 
> option is kept, but changed internally to call the --pipe option with 
> SED_PATH -e <sed script>.
> 
> We (CPA, University of Leuven, Belgium) needed this patch because (after 
> different extensions) our cluster now has a complex interconnect 
> structure; We needed the pipe option to scan through the hostlist, in 
> order to decide which interconnect/switch to use. (We use a perl script 
> which scans the list, and checks if all are connected to one of the 
> faster switches)

This is certainly a reasonable thing to want to do.  I have a few
comments and questions, though.

1.  Kludge warning:  you could configure an unmodified mpiexec using
    --with-sed=/usr/bin/cpa-script and change that program to accept
    and ignore "-e junk", but I would agree that is somewhat ugly.

2.  I still suspect this is a rare need, so instead of --pipe, how about
    --transform-hostnames-program=<program>?  This option would conflict
    with the existing --transform-hostnames so nobody would try to
    specify both.

3.  Why do you need to start with a shell?  For the convenience of being
    able to rely on a path lookup for <program> rather than having to
    specify the entire path at runtime?  Why the configure option to
    specify the shell; can we just assume that they have /bin/sh since
    they are running the configure script itself?

Let me know what you think and I'll work on integrating this sometime.

		-- Pete


More information about the mpiexec mailing list