Sie befinden Sich nicht im Netzwerk der Universität Paderborn. Der Zugriff auf elektronische Ressourcen ist gegebenenfalls nur via VPN oder Shibboleth (DFN-AAI) möglich. mehr Informationen...
Ergebnis 24 von 8931
Proceedings of the 2nd ACM SIGPLAN International Workshop on libraries, languages, and compilers for array programming, 2015, p.54-59
2015

Details

Autor(en) / Beteiligte
Titel
Abstract expressionism for parallel performance
Ist Teil von
  • Proceedings of the 2nd ACM SIGPLAN International Workshop on libraries, languages, and compilers for array programming, 2015, p.54-59
Ort / Verlag
ACM
Erscheinungsjahr
2015
Link zum Volltext
Quelle
ACM Digital Library Complete
Beschreibungen/Notizen
  • Programming with abstract, mathematical expressions offers benefits including terser programs, easier communication of algorithms, ability to prove theorems about algorithms, increased parallelism, and improved programming productivity. Common belief is that higher levels of abstraction imply a larger semantic gap between the user and computer and, therefore, typically slower execution, whether sequential or parallel. In recent years, domain-specific languages have been shown to close this gap through sophisticated optimizations benefitting from domain-specific knowledge. In this paper, we demonstrate that the semantic gap can also be closed for non-domain-specific functional array languages, without requiring embedding of language-specific semantic knowledge into the compiler tool chain. We present a simple example of APL-style programs, compiled into C-code that outperform equivalent C programs in both sequential and parallel (OpenMP) environments. We offer insights into abstract expressionist programming, by comparing the characteristics and performance of a numerical relaxation benchmark written in C99, C99 with OpenMP directives, scheduling code, and pragmas, and in , a functional array language. We compare three algorithmic styles: if/then/else, hand-optimized loop splitting, and an abstract, functional style whose roots lie in APL. We show that the algorithms match or outperform serial C, and that the hand-optimized and abstract styles generate identical code, and so have identical performance. Furthermore, parallel variants also outperform the best OpenMP C variant by up to a third, with no source code modifications. Preserving an algorithm's abstract expression during optimization opens the door to generation of radically different code for different architectures. [The author list is wrong, but I see no way to correct, despite the fact that EasyChair has the correct author list.]
Sprache
Englisch
Identifikatoren
ISBN: 9781450335843, 1450335845
DOI: 10.1145/2774959.2774962
Titel-ID: cdi_acm_primary_2774962

Weiterführende Literatur

Empfehlungen zum selben Thema automatisch vorgeschlagen von bX