- Sponsor:
- sigplan
It is our great pleasure to welcome you to the 3rd ACM SIGPLAN Workshop on Functional High-Performance Computing. FHPC 2014 brings together researchers who explore declarative high level programming technology in application domains where large-scale computations arise naturally, and high performance is essential. The workshop is in its third year. Our goal is to establish FHPC as a regular annual forum for researchers interested in applying functional programming techniques in the area of high-performance computing. Functional programming is increasingly recognized as presenting a nice sweet spot between expressiveness and efficiency for parallel programming, reconciling execution performance with programming productivity.
Making FHPC'14 happen depended on a number of people and organizations, which we would like to acknowledge here. We thank the authors for providing the content of the programme. We would like to express our gratitude to the programme committee, who worked very hard in reviewing papers and providing suggestions for their improvement. Special thanks go to ACM SIGPLAN and the ICFP workshop chairs for accepting our workshop proposal and being flexible with organizational matters.
The call for papers attracted 11 submissions. The number of submissions was a little disappointing, but the quality was reassuringly high. An international programme committee selected 10 contributions for publication. These papers cover a variety of topics. Some touch upon optimizing compilation techniques and programming techniques for GPU applications. Others consider patterns for distributed programming, the use of functional programming in a computational science application and compilation techniques for embedded and standalone languages.
In addition to the refereed contributions, FHPC'14 features an invited talk. Our original plan was to welcome Keshav Pingali but a medical emergency means that that we hope to return to this another year. Instead, Dimitrios Vytiniotis from Microsoft Cambridge will present Ziria, a Software Defined Radio platform, based on functional programming, that is easily programmable and produces high performance code.
We have put together an exciting programme; we look forward to lively discussions during the third FHPC workshop, and a successful follow-up FHPC workshop at ICFP 2015.
Proceeding Downloads
Ziria: wireless programming for hardware dummies
Software-defined radio (SDR) brings the flexibility of software to the domain of wireless protocol design, promising both an ideal platform for research and innovation and the rapid deployment of new protocols on existing hardware. Most existing SDR ...
Pension reserve computations on GPUs
New regulations from the European Union, called Solvency II, require that life insurance and pension providers perform more complicated calculations to demonstrate their solvency. At the same time, exploiting alternative computational paradigms such as ...
Parallel computation of multifield topology: experience of Haskell in a computational science application
Codes for computational science and downstream analysis (visualization and/or statistical modelling) have historically been dominated by imperative thinking, but this situation is evolving, both through adoption of higher-level tools such as Matlab, and ...
An efficient representation for lazy constructors using 64-bit pointers
Pointers in the AMD64 architecture contain unused space, a feature often exploited by modern programming language implementations. We use this property in a defunctionalizing compiler for a subset of Haskell, generating fast programs having a compact ...
Size slicing: a hybrid approach to size inference in futhark
We present a shape inference analysis for a purely-functional language, named Futhark, that supports nested parallelism via array combinators such as map, reduce, filter}, and scan}. Our approach is to infer code for computing precise shape information ...
Defunctionalizing push arrays
Recent work on embedded domain specific languages (EDSLs) for high performance array programming has given rise to a number of array representations. In Feldspar and Obsidian there are two different kinds of arrays, called Pull and Push arrays. Both ...
Fusing filters with integer linear programming
The key to compiling functional, collection oriented array programs into efficient code is to minimise memory traffic. Simply fusing subsequent array operations into a single computation is not sufficient; we also need to cluster separate traversals of ...
Lazy data-oriented evaluation strategies
This paper presents a number of flexible parallelism control mechanisms in the form of evaluation strategies for tree-like data structures implemented in Glasgow parallel Haskell. We achieve additional flexibility by using laziness and circular programs ...
Group communication patterns for high performance computing in scala
We developed a Functional Object-Oriented Parallel framework (FooPar) for high-level high-performance computing in Scala. Central to this framework are Distributed Memory Parallel Data structures (DPDs), i.e., collections of data distributed in a shared ...
Native offload of Haskell repa programs to integrated GPUs
In light of recent hardware advances, general-purpose computing on graphics processing units (GPGPU) is becoming increasingly commonplace, and needs novel programming models due to GPUs' radically different architecture. For the most part, existing ...
LambdaJIT: a dynamic compiler for heterogeneous optimizations of STL algorithms
C++11 introduced a set of new features to extend the core language and the standard library. Amongst the new features are basic blocks for concurrency management like threads and atomic operation support, and a new syntax to declare single purpose, one ...
Index Terms
- Proceedings of the 3rd ACM SIGPLAN workshop on Functional high-performance computing