1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
pvm_spawn Scilab // Group Scilab function pvm_spawn
NAME
pvm_spawn - Starts new Scilab processes.
CALLING SEQUENCE
[tids, numt] = pvm_spawn(task, ntask, [nw], [where])
PARAMETERS
task : string, which is the file name of the scilab script (see exec) to be
started. The Scilab script must already reside on the host on which it is
to be started. The name must an absolute path.
ntask : integer, specifying the number of copies of the scilab script to
start.
win : string (optional). If win is equal to ``nw'' the Scilab process
will be spawned in background with out any window coming up.
where : string (optional), can be a host name such as
``tequila.ens-lyon.fr'' or a PVM architecture class such as
``SUN4''.
numt : integer, the actual number of tasks started. Values less than
zero indicate a system error.
tids : row of integers, array of the tids of the PVM processes
started by this pvm_spawn call.
DESCRIPTION
pvm_spawn starts
copies of the scilab script
On systems that support environment, spawn passes selected variables from
parent environment to children tasks. If set, the envar PVM_EXPORT is
passed. If PVM_EXPORT contains other names (separated by ':') they will
be passed too. This is useful for e.g.:
setenv DISPLAY myworkstation:0.0
setenv MYSTERYVAR 13
setenv PVM_EXPORT DISPLAY:MYSTERYVAR
The hosts on which the PVM processes are started are determined by the
arguments. On return the array
contains the PVM task identifiers for each process started.
If pvm_spawn starts one or more tasks,
will be the actual number of tasks started. If a system error occurs then
will be < 0. If
is less than
then some executables have failed to start and the user should check the
last
locations in the
array which will contain error codes (see below for meaning). The first
tids in the array are always valid.
When the argument
is omitted a heuristic (round-robin assignment) is used to distribute the
processes across the virtual machine.
In the special case where a multiprocessor is specified by
pvm_spawn will start all
copies on this single machine using the vendor's underlying routines.
EXAMPLE
// create an exec file (script)
write(TMPDIR+'/foo.sce',['a=1';'plot2d()'])
// start a new Scilab on the same host to execute the script
[tids, numt] = pvm_spawn(TMPDIR+'/foo.sce',1)
pvm_kill(tids) //terminate the new scilab
SEE ALSO
pvm, pvm_spawn_independent
|