首页 | 本学科首页   官方微博 | 高级检索  
     


SAC—A Functional Array Language for Efficient Multi-threaded Execution
Authors:Clemens Grelck  Sven-Bodo Scholz
Affiliation:(1) Institute of Software Technology and Programming Languages, University of Lübeck, Ratzeburger Allee 160, 23538 Lübeck, Germany;(2) Department of Computer Science, University of Hertfordshire, College Lane, Hatfield, AL109AB, United Kingdom
Abstract:We give an in-depth introduction to the design of our functional array programming language SaC, the main aspects of its compilation into host machine code, and its parallelisation based on multi-threading. The language design of SaC aims at combining high-level, compositional array programming with fully automatic resource management for highly productive code development and maintenance. We outline the compilation process that maps SaC programs to computing machinery. Here, our focus is on optimisation techniques that aim at restructuring entire applications from nested compositions of general fine-grained operations into specialised coarse-grained operations. We present our implicit parallelisation technology for shared memory architectures based on multi-threading and discuss further optimisation opportunities on this level of code generation. Both optimisation and parallelisation rigorously exploit the absence of side-effects and the explicit data flow characteristic of a functional setting.
Keywords:Compiler optimisation  data parallel programming  multi-threading  Single Assignment C
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号