The annotated C++ reference manual
The annotated C++ reference manual
Parallel sets: an object-oriented methodology for massively parallel programming
Parallel sets: an object-oriented methodology for massively parallel programming
CHARM++: a portable concurrent object oriented system based on C++
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
IEEE Parallel & Distributed Technology: Systems & Technology
NESL: A Nested Data-Parallel Language (Version 2.6)
NESL: A Nested Data-Parallel Language (Version 2.6)
Compositional C++: Compositional Parallel Programming
Compositional C++: Compositional Parallel Programming
Experiences in teaching parallel computing—five years later
ACM SIGCSE Bulletin
From desgign patterns to parallel architectural skeletons
Journal of Parallel and Distributed Computing
ThreadMentor: a pedagogical tool for multithreaded programming
Journal on Educational Resources in Computing (JERIC)
Introducing parallel processing concepts
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
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.