Menu

Overview

ENGITEX

Overview

The library lets a user make asynchronous function calls in GNU Octave.
The existing Parallel Package allows parallel function calls in the following way:
output_vector = pararrayfun(n_cores, @myfunc, input_vector)
But the call to pararrayfun itself is still synchronous.

This library is supposed to be used in a similar way as asynchronous calls are used in Python and C#:
pid = parstart("myfunc", argin1, argin2, ...)
This call returns quickly and the user can do other jobs.
The current status of the mufunc call can be checked by running(pid)
When the function has completed, running(pid) == 0
and the output parameters from myfunc (if any) should be obtained by calling
d = get_data(pid)

The parameters will be packed in a structure d.
An empty array is returned if
(a) myfunc has no output parameters, or
(b) myfunc has not completed (an error has occured)
This is why it is recommended to add an exit code as an output parameter if myfunc is "void".

As a side note, Windows OS supports many CPUs and will distribute the load from several parstart calls in more or less optimal way.

See also:
[API reference]
[System requirements]


Related

Wiki: API reference
Wiki: System requirements

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.