A Data-Parallel Programming Library for Education (DAPPLE)

In the context of our goal to bring parallel computing into the undergraduate curriculum, we needed a parallel-programming language that was accessible to students and independent of any particular hardware platform. Finding nothing appropriate, we chose to design our own language. The result, DAPPL...

Full description

Saved in:
Bibliographic Details
Published in:Computer science education Vol. 6; no. 2; pp. 141 - 159
Main Author: Kotz, David
Format: Journal Article
Language:English
Published: Taylor & Francis Group 01.01.1995
ISSN:0899-3408, 1744-5175
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:In the context of our goal to bring parallel computing into the undergraduate curriculum, we needed a parallel-programming language that was accessible to students and independent of any particular hardware platform. Finding nothing appropriate, we chose to design our own language. 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 Vectorand Matrixclasses, with most C++ operators overloaded to provide elementwise arithmetic, and supports data-parallel operations like scans, permutations, and reductions. DAPPLE also provides a parallel if-then-else statement to restrict the scope of the above operations to partial vectors or matrices. In this article we describe the DAPPLE language, the pedagogical decisions that went into its design, and our experience using DAPPLE in the classroom. DAPPLE is freely available on the Internet.
ISSN:0899-3408
1744-5175
DOI:10.1080/0899340950060203