I would like to revisit this issue because I have run across yet
another application where it is necessary -- I have run across two
such applications "in the wild" which indicates to me that there are
likely to be many such applications. The types of applications that
require this functionality are of the sort where an existing
executable program can load object modules (i.e., "plug-ins") at
run-time. The two applications I have encountered thus far are
Photoshop and Matlab -- but Netscape is certainly another one.
In these applications, it is not possible to start MPI with mpirun,
the program itself needs to be able to start MPI.
The objections to a singleton MPI_Init seemed to center around the
notion that MPI has never defined how processes start up. This is no
longer the case in MPI-2. Given that existing MPI processes can start
other MPI processes, it seems eminently reasonable to also specify how
the very first process gets started, or at least to provide a
mechanism for "self-spawning." Leaving this feature as one of quality
of implementation is a severe impediment to portability.
Best Regards,
Andrew Lumsdaine
---------------------------------------------------------------------- Andrew Lumsdaine Dept. Comp. Sci. & Engr. email: Andrew.Lumsdaine@nd.edu 353 Fitzpatrick Hall phone: (219) 631-8716 University of Notre Dame fax: (219) 631-9260 Notre Dame, IN 46556 --------------------------------------------------------------------