Note that Function netcellfun, Function netarrayfun, and Single remote function evaluation, but even Function parcellfun and Function pararrayfun, execute code in separate Octave processes. This causes some limitations.
For the function handles passed as arguments to Function parcellfun, Function pararrayfun, Function netcellfun, Function netarrayfun, and Single remote function evaluation, the following limitations may apply:
varargin
and don’t contain nested
anonymous functions.
Anonymous functions should be usable as usual, since the function specification sent to the server will include the anonymous functions context.
If Function parcellfun or Function pararrayfun (and of course the cluster-related functions, too) are called from within a function with subfunctions, the subfunctions won’t be visible in parallel execution.
There is no way to set global variables for the function called by
parcellun
or pararrayfun
. For cluster execution, setting
global variables is possible, e.g. with Distribute Octave variables; however,
netcellfun
and netarrayfun
won’t ’see’ global variables if
they use parcellfun
internally (which is the default at remote
machines with more than one available processor core).