This Library allows users, even with little knowledge about parallel machines, to easily develop efficient parallel programs on lists. This is because synchronization and communication, which make parallel programming very complicated, are concealed by the parallel skeletons (basic patterns of parallel computation) provided by the Library. The parallel skeletons provided by the Library are implemented efficiently, so that users can get efficient parallel programs by composing the skeletons without considering parallelism.
The Library provides the parallel skeletons as templates of C++. Thus arbitrary type of elements of a list is allowed. Because parallel skeletons are defined as higher order functions, users can do various computations on lists by passing user-defined function objects to them.
The library consists of two parts:
dist_list and list_skeletons classes use MPI in their methods for communication among processors. Thus, a program written by this library can be executed on any environment where MPI implementation is provided.
NOTE: The Library is tested on Unix Clones (FreeBSD and Linux) and Windows XP with cygwin.
Reference Manual is generated by Doxygen.
We'll appreciate any feedback (comments, suggestions, questions, bug reports, ...) concerning the List Skeleton Library at sketo_at_ipl.t.u-tokyo.ac.jp, or yoshiki_at_ipl.cs.uec.ac.jp (please replace "_at_" with "@").