Jonathan C. Hardwick

Learn More
Cvl is a library of low-level vector routines callable from C. This library includes a wide variety of vector operations such as elementwise function applications, scans, reduces and permutations. Most Cvl routines are deened for segmented and unsegmented vectors. This paper is intended for Cvl users and implementors, and assumes familiarity with vector(More)
This paper gives an overview of the implementation of NESL, a portable nested data-parallel language. This language and its implementation are the first to fully support nested data structures as well as nested data-parallel function calls. These features allow the concise description of parallel algorithms on irregular data, such as sparse matrices and(More)
This paper describes the derivation of an empirically efficient parallel two-dimensional Delaunay triangulation program from a theoretically efficient CREW PRAM algorithm. Compared to previous work, the resulting implementation is not limited to dataaets with a uniform dktribution of points, achieves significantly better speedups over good serial code, and(More)
We present our experiences in using Java as an intermediate language for the high-level programming language Nesl. First, we describe the design and implementation of a system for translating Vcode|the current intermediate language used by Nesl|into Java. Second, we evaluate this translation by comparing the performance of the original Vcode implementation(More)
This paper presents work in progress on a new method of implementing irregular divide-and-conquer algorithms in a nested data-parallel language model on distributed-memory multiprocessors. The main features discussed are the recursive subdivision of asynchronous processor groups to match the change from data-parallel to control-parallel behavior over the(More)
Any opinions, findings and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the United States Government, DARPA, the USAF, or any other sponsoring organization. Abstract Nested data parallelism has been shown to be an important feature of parallel languages, allowing the concise(More)
These are the lecture notes for CS 15-840B, a hands-on class in programming parallel algorithms. The class was taught in the fall of 1992 by Guy Blelloch, using the programming language NESL. It stressed the clean and concise expression of a variety of parallel algorithms. About 35 graduate students attended the class, of whom 28 took it for credit. These(More)