is a Library for parallel algorithms.

A parallel algorithm, as opposed to a traditional serial algorithm,
is an algorithm which can be executed a piece at a time on many different processing devices and then combined together again at the end to get the correct result.

The parallelism in an algorithm can yield improved performance on many different kinds of computers.
For example, on a parallel programming, the operations in a parallel algorithm can be per formed simultaneously by different processors. Furthermore, even on a single-processor computer the parallelism in an algorithm can be exploited by using multiple functional units, pipelined functional units, or pipelined memory systems.

Parallel algorithms on individual devices have become more common since the early 2000s because of substantial improvements in multiprocessing systems and the rise of multi-core processors.
Up until the end of 2004, single-core processor performance rapidly increased via frequency scaling, and thus it was easier to construct a computer with a single fast core than one with many slower cores with the same throughput, so multicore systems were of more limited use. Since 2004 however, frequency scaling hit a wall, and thus multicore systems have become more widespread, making parallel algorithms of more general use.





You can explore Units, Functions, Procedures, Classes, etc in our
Source Documentation