A Domain-Specific Language for High-Level Parallelization

A Domain-Specific Language for High-Level Parallelization

Ritu Arora (Texas Advanced Computing Center, USA), Purushotham Bangalore (University of Alabama at Birmingham, USA) and Marjan Mernik (University of Maribor, Slovenia)
DOI: 10.4018/978-1-4666-2092-6.ch018


There are several ongoing research efforts in the High Performance Computing (HPC) domain that are employing Domain-Specific Languages (DSLs) as the means of augmenting end-user productivity. A discussion on some of the research efforts that can positively impact the end-user productivity without negatively impacting the application performance is presented in this chapter. An overview of the process of developing a DSL for specifying parallel computations, called High-Level Parallelization Language (Hi-PaL), is presented along with the metrics for measuring its impact. A discussion on the future directions in which the DSL-based approaches can be applied in the HPC domain is also included.
Chapter Preview


DSLs are gradually gaining popularity in the HPC domain because DSL-based approaches have been shown to be helpful in developing parallel applications and algorithms at a high-level of abstraction. The low-level details related to the development and deployment of HPC applications (viz. managing the communication between processors, distribution of data on various processors, and load-balancing) can be hidden from the programmers. A key advantage of the DSL-based approaches is that the specifications of applications or algorithms need not be modified in the event of a change in the underlying architecture. Therefore, the application portability concerns are assuaged. DSLs are also helpful in the separation of concerns (Arora et al, 2011; Kiczales et al, 1997). Some of the DSLs that have the potential of reducing the adoption barriers to HPC are discussed in this section.

Complete Chapter List

Search this Book: