Next: Package FEMLISP-DDO, Previous: Package FL.APPLICATION, Up: Reference manual [Contents][Index]
This package provides distributed objects.
If set, the distribution is checked at the beginning of each synchronization.
This is constantly T at the moment, i.e. since 1.9.2017, and has the effect that the first communication (which is not large) takes place between all processors. Maybe we can relax this later on, but this change and its possible benefit should be examined very carefully, because we use it for avoiding deadlocks when errors occur on one processor.
When non-nil, communication time is recorded.
When non-nil, communication size is recorded.
When T show all data communicated between processors. This is only reasonable for toy problems.
Merger for the synchronization which can be a generic function
dispatching on the class of object. An example is provided by the
generic function #’minimum-id-merger. Usually this dynamic variable will
be bound around a call to synchronize
.
When non-nil, communication time is recorded.
Analyzes send/receive output. This is probably done better prior to synchronization by distribution-consistency-check.
Broadcast the given commands
Call workers sequentially, mainly for debugging purposes if separate output is desired. Of course, this should only be called with commands which do not require synchronization!
Broadcast the given commands and capture the output of all processors as a string result.
Mixin for a ‘container’ which may contain distributed and non-distributed objects.
Checks how much time the relation handling alone, that is without any communication, needs on the currently active distributed objects.
Perform the commands serially on the controller
Only for debugging purposes: return all distributed data in a property list
Sequential execution of the forms in body.
Generates for class a distributed object/container variant.
Calls func with each neighboring rank. func
should
expect a processor rank of some processor not equal to the own rank
which shares distributed objects.
Calls func
on each processor.
Turn the container object into a distributed container.
Make OBJECT into a distributed object belonging to PROCESSORS. The change will become active only after the next synchronization!
The master of a distributed object is simply as the processor with minimal rank. Note that using this function somehow works against the whole DDO concept, so that its use should be avoided whenever possible.
In principle, this function should look up up the minimal id and set all distributed slots accordingly.
Returns a list of neighboring processors with which we share distributed objects.
All processors for a distributed object
For testing purposes! Resets all distributed-object tables.
Synchronize distributed objects across the MPI kernel.
Next: Package FEMLISP-DDO, Previous: Package FL.APPLICATION, Up: Reference manual [Contents][Index]