Submit a comment to an "Available C++ Libraries FAQ" entry
Libraries available to download (Q-Z)
YAPL - Yet Another Parallel Library
YAPL (Yet Another Parallel Library) is a small experimental prototype implementation to illustrate some ideas about parallel libraries. It is a header-only library at present.
YAPL design principles:
The library is designed as an experimentation framework for containers and algorithms.
User code should be the same in sequential and parallel modes. This ideal is not always achievable, but differences are minimized.
There should be a clear separation between a container abstraction (a list of values) and its supporting implementation structure (e.g., a linked list of nodes or a vector.).
For element access, YAPL uses mappings (a generalization of ranges). It does not use the C++ standard library iterators because iterators are inherently sequential.
It should be easy to select the execution policy for an application (sequential, parallel, GPU, …).
The library offers components in five categories:
CONTAINER – provides a minimal interface for the container abstraction. A key property of a container is that it provides mechanisms for generating mappings to that container;
SUPPORT STRUCTURE – implements a concrete strategy that can be used by multiple containers;
MAPPING – provides an interface to operate on a subset of container elements. Different subsets may be generated through different defining criteria;
ALGORITHM – an operation that can be applied to any mapping;
POLICY – allows the programmer to configure how operations are sequenced and elements allocated.
Licensing : Copyrighted freeware
Do not expect an immediate response - the contents of this form
will be added to a queue, which I process manually
about once a week. If you don't fill in
your email address correctly, you will not (obviously) get any reply at
all. Other invalid information may result in a mailed request for
Enter your comment in the areas provided below. Be sure to
include your name and email address.
Please don't bother trying to post spam or links to dodgy web sites - everything
you post here is reviewed by a human being before being released for public