Most CL implementations have some threading capabilities which allow to
use the multi-core processors efficiently that can be found in most of
the current computers. Unfortunately, this has not yet been
standardized (the ANSI CL standard is from 1994!), so that each CL
implementation provides an own set of functions for making this
possible. On the other hand, the
provides a unified interface to these capabilities, and the
lparallel library even provides a higher level of abstraction,
because it allows to allocate a pool of workers which can work on
sequences using parallel map and parallel reduce operations.
FEMLISP uses both of these libraries for providing an interface which is slightly more complicated than pmap/preduce, but can be applied inside every iterative form.
|• Allocating a new kernel:
|• Working in parallel:
|• Terminating a kernel: