Next: Package FL.MATLISP, Previous: Package FL.ALIEN, Up: Reference manual [Contents][Index]
This package provides some Femlisp extensions for parallel execution building on the BORDEAUX-THREADS and LPARALLEL libraries
A mixin which adds a mutex to every instance of the class.
Direct slots:
Use map/pmap depending on availability of kernel. Recursive splitting of work is not done.
A thread-safe queue waiting for input.
Superclasses: QUEUE WAITQUEUE-MIXIN
Direct slots:
Waitqueue mixin.
Superclasses: MUTEX-MIXIN
Direct slots:
This macro sets up an array of accumulators for each worker initialized with initial-element. Within each worker the symbol name can be used for accessing the private accumulator. After the body was executed (probably containing parallel operations), the result array is reduced using reduce-op.
If output of a process is desired to be atomic wrap it in with-atomic-output.
This macro distributes work generated in body with calling the locally
bound function work-on
on some arguments to several working
threads which call func on those arguments.
Needs to be called unfortunately around push/incf/setf.
Execute body on the waitqueue obj without other threads interfering.
This macro distributes work generated in body with calling the locally
bound function work-on
on some arguments to several working
threads which call func on those arguments.
Test if parallel sparse algebra is possible in the current context. Note that at the moment, we do not allow nested parallelization.
Next: Package FL.MATLISP, Previous: Package FL.ALIEN, Up: Reference manual [Contents][Index]