Abstract
In the context of our overall goal to bring the concepts of parallel computing into the undergraduate curriculum, we set out to find a parallel-programming language for student use. To make it accessible to students at all levels, and to be independent of any particular hardware platform, we chose to design our own language, based on a data-parallel model and on C++. The result, DAPPLE, is a C++ class library designed to provide the illusion of a data-parallel programming language on conventional hardware and with conventional compilers. DAPPLE defines Vectors and Matrices as basic classes, with all the usual C++ operators overloaded to provide elementwise arithmetic. In addition, DAPPLE provides typical data-parallel operations like scans, permutations, and reductions. Finally, DAPPLE provides a parallel if-then-else statement to restrict the scope of the above operations to partial vectors or matrices.
- BBG+93 Francois Bodin, Peter Beckman, Denis GannLon, Srinivas Narayana, and Shelby X. Yang. Distributed pC++: basic ideas for aa object parallel language. Scientific Programming, 2(3), }Fall 1993.Google Scholar
- Ble93 Guy E. Blelloch. NESL: a nested data-parallel language. Technical Report CMU-CS-93-129, Carnegie Mellon University, April 1993. Google Scholar
- CGH94 Rohit Chandra, Anoop Gupta, and John L. Hennessey. COOL: an object-based language for parallel programming. IEEE Computer, 27(8):14- 26, August 1994. Google Scholar
Digital Library
- CK92 K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional parallel progr~unming. Technical Report CS-TR-92-13, California Institute of Technology, 1992. Google Scholar
- ES90 Margaret A. Ellis and Bjarne Stroustrup. The Annotated C++ Reference Manual. Addison- Wesley, 1990. Ninth printing. Google Scholar
Digital Library
- Gri93 Andrew S. Grimshaw. Easy-to-use objectoriented parallel processing with Mentat. IEEE Computer, 26(5):39-51, May 1993. Google Scholar
Digital Library
- JKM94 Donald Johnson, David Kotz, and Fillia Makedon. Teaching parallel computing to freslmlen. In Conference on Parallel Computing for Undergraduates. Colgate University, June 1994.Google Scholar
- Kil92 Michael F. Kilian. Parallel Sets: An Objectoriented Methodology for Massively Parallel Programming. PhD thesis, Harvard University, 1992. Google Scholar
Digital Library
- KK93 L.V. Kale and Sanjeev Kfishnan. CHARM++: A portable concurrent object oriented system b~sed on C++. In Proceedings of the Conference on Object Oriented Programming Systems, Languages and Applications, 1993. Google Scholar
Digital Library
- Lov93 David B. Loveman. High Performance Fortran. IEEE Parallel and Distributed Technology, 1 ( 1):25--42, February 1993. Google Scholar
Digital Library
- LRV92 James R. Larus, Brad Richards, and Guhan Viswanathan. C**- A large-grain, object-oriented, data-parallel programming language. Technical Report #1126, University of Wisconsin-Madison, November 1992.Google Scholar
- Mil94 Russ Miller. The status of parallel processing education. IEEE Computer, pages 40-43, August 1994. Google Scholar
Digital Library
Index Terms
A data-parallel programming library for education (DAPPLE)
Recommendations
A data-parallel programming library for education (DAPPLE)
SIGCSE '95: Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science educationIn the context of our overall goal to bring the concepts of parallel computing into the undergraduate curriculum, we set out to find a parallel-programming language for student use. To make it accessible to students at all levels, and to be independent ...







Comments