Implementing Plus-Scans in NESL
We've discussed the plus-scan operation in class, and
now you must implement it in NESL. Specifically, you must
implement three versions of it:
-
Sequential: Perform a linear-time, sequential
traversal of the input vector, producing a plus-scan vector
as a result.
-
Parallel work-inefficient: Use the tree-summation
method (also fondly known as the up-sweep/down-sweep
method) to perform the plus-scan. Note that this
algorithm is work-inefficient if n/2 processors are
used at the bottom level of the tree.
-
Parallel work-efficient: Build on the previous
version by implementing tree-summation with the
local-work trick. At the bottom of the tree, n/lg
n processors should be operating with sequential
algorithms on lg n elements.
Submit your work using the submit command
described on the course web pages. The name of the
assignment, for submission purposes, is plus-scan. If
you do not use that name, the submission will fail.
This assignment is due at 10:00 am, Friday, November
9th, 2001
Scott F. Kaplan
Last modified: Thu Nov 8 20:06:43 EST 2001