@TECHREPORT{HW-MACS-TR-0103, AUTHOR = {Evgenij Belikov and Pantazis Deligiannis and Prabhat Totoo and Malak Aljabri and Hans-Wolfgang Loidl}, TITLE = {A Survey of High-Level Parallel Programming Models}, NUMBER = {HW-MACS-TR-0103}, INSTITUTION = {Department of Computer Science, Heriot-Watt University}, ADDRESS = {}, ABSTRACT = { Increasingly heterogeneous and hierarchical parallel architectures are now mainstream, however, most of the traditional programming models are low-level and explicit, limiting portability, scalability, and productivity. Moreover, performance of applications that overspecify evaluation degree and order will suffer as they fail to adapt to changing architectures. This paper surveys the properties, advantages, and disadvantages of high-level approaches to parallel programming that are deemed more flexible for efficiently utilising modern and future heterogeneous architectures. First, we introduce the challenges that arise from recent architectural trends and continue by surveying and characterising the high-level approaches to parallel programming. Subsequently, we review parallelism management policies and mechanisms to control them by comparing several representative implementations, focussing on heterogeneous hardware. Thereafter, we briefly illustrate the high-level approach based on recent case studies. Finally, we conclude by summarising our findings and views on what we believe are most suitable programming models to efficiently harness heterogeneous architectures without reducing productivity.}, KEYWORDS = {High-Level Parallel Programming Models, Performance Portability, Parallel Patterns, Multi-Level Parallelism, Inherently Parallel Data Structures, Declarative Parallel Programming, Heterogeneous Computing}, NOTE = {}, MONTH = {December}, YEAR = {2013}, }