Introduction to algorithms
Journal of Parallel and Distributed Computing
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
An introduction to parallel algorithms
An introduction to parallel algorithms
Programming parallel algorithms
Communications of the ACM
The Fork95 parallel programming language: design, implementation, application
International Journal of Parallel Programming
Structured development of parallel programs
Structured development of parallel programs
Practical Pram Programming
Visualizing the Performance of Parallel Programs
IEEE Software
Programming Irregular Parallel Applications in Cilk
IRREGULAR '97 Proceedings of the 4th International Symposium on Solving Irregularly Structured Problems in Parallel
Euro-Par '02 Proceedings of the 8th International Euro-Par Conference on Parallel Processing
Analogies for teaching parallel computing to inexperienced programmers
ITiCSE-WGR '06 Working group reports on ITiCSE on Innovation and technology in computer science education
Structured parallel programming with deterministic patterns
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
Hi-index | 0.00 |
We describe a parallel programming environment that implements the PRAM (Parallel Random Access Machine) model. The programming environment consists of a C-based PRAM programming language called FORK with a compiler, libraries and tools, and a fast PRAM simulator. The software is freely available for Unix workstations. The programming environment and a systematic way of writing structured parallel programs for the PRAM model are described in a recent textbook.Even though the programming environment was originally developed for a hardware research project, we show that the system is also especially suited for complementing classical theory courses on PRAM algorithms by programming exercises that allow students to experiment with PRAM-style parallelism and actually implement the algorithms as they appear in the theory textbooks.We describe how the environment was used in a recent graduate-level course on parallel algorithms, and report on feedback that we got from the participants.