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:

  1. Sequential: Perform a linear-time, sequential traversal of the input vector, producing a plus-scan vector as a result.
  2. 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.
  3. 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