Research Article
On the Parallelization of Stream Compaction on a Low-Cost SDC Cluster
Algorithm 2
Parallel stream compaction.
| Input: Vector I of length n | | Input: Predicate function F | | Input: Number of processes p | | Input: pid of process | | Output: Vector O of valid elements | | Output: nvalid: the number of valid elements | | Output: pos: position to write | (1) | | (2) | | (3) | | (4) | for to in parallel do | (5) | if then | (6) | | (7) | end if | (8) | end for | (9) | for to in parallel do | (10) | | (11) | end for | (12) | | (13) | for to in parallel do | (14) | Send nvalid to process | (15) | end for | (16) | if then | (17) | for to in parallel do | (18) | Receive | (19) | | (20) | end for | (21) | end if | (22) | for to in parallel do | (23) | if then | (24) | | (25) | end if | (26) | end for |
|