Sieve C++ Parallel Programming System

It is an alternative to other well-known parallelisation methods such as OpenMP, the RapidMind Development Platform and Threading Building Blocks (TBB).

Inside this scope, referred to commonly as a 'sieve block', certain rules apply [1]: Delaying side-effects removes many small dependencies which would usually impede automatic parallelization.

Reads and writes can be safely reordered by the compiler as to allow better use of various data movement mechanisms, such as Direct Memory Access(DMA).

Multi-core CPUs such as the Cell microprocessor used in the PlayStation 3 are of this type, in which the fast cores have local memories that must be utilized to exploit performance inherent in the system.

The removal of the need to consider concurrency control structures within a sieve block can speed up development time and results in safer code.

Sieve has been shown [8] successfully operating on multi-core x86 systems, the Ageia PhysX Physics Processing Unit, and the IBM Cell microprocessor.