- Sponsor:
- sigplan
It is our great pleasure to welcome you to the 1st ACM SIGPLAN Workshop on Functional High Performance Computing -- FHPC'12. The aim of this novel workshop is to bring together researchers exploring uses of functional (or, more generally, declarative) programming technology in application domains where large-scale computations arise naturally and high performance is essential. It is widely becoming apparent that radically new and mathematically well founded methodologies for programming such systems are necessary to address the inherent complexity in coordinating such computations on today's and even more so on future high performance computing infrastructures.
The workshop is intended to enable sharing of results, experience, and ideas about how high-level, declarative programming technology can be harnessed to solve problems from various domains by highly transparent, maintainable, and portable code while at the same time approaching or even exceeding the performance of comparable low-level imperative implementations.
This first FHPC Workshop is organized in formal cooperation with the newly established HIPERFIT Research Centre for Functional High-Performance Computing for Financial Information Technology (www.hiperfit.dk) at the University of Copenhagen. Hence, we particularly encouraged submissions related to computational finance while at the same time we also welcomed submissions focusing on other application domains or general-purpose work on the theory and practice of functional approaches to high performance computing.
The call for papers attracted 15 submissions mostly from Europe and the United States. After thorough discussion the FHPC program committee accepted 9 papers that cover a variety of topics in functional high performance computing. In addition, the workshop program includes a keynote by Paul Kelly on using domain-specific languages for parallel code synthesis. We hope that these proceedings will serve as a valuable reference for researchers working at the intersection between declarative programming and high performance computing and that this first FHPC workshop will find a successful continuation in the context of the ICFP conference.
Proceeding Downloads
Using domain-specific languages and access-execute descriptors to expand the parallel code synthesis design space: keynote talk
This talk is about the following idea: can we simultaneously raise the level at which programmers can reason about code, and also provide the compiler with a model of the computation that enables it to generate faster code than you could reasonably ...
Parallel programming in Haskell almost for free: an embedding of intel's array building blocks
Nowadays, performance in processors is increased by adding more cores or wider vector units, or by combining accelerators like GPUs and traditional cores on a chip. Programming for these diverse architectures is a challenge. We would like to exploit all ...
Avalanche: a fine-grained flow graph model for irregular applications on distributed-memory systems
Flow graph models have recently become increasingly popular as a way to express parallel computations. However, most of these models either require specialized languages and compilers or are library-based solutions requiring coarse-grained applications ...
Harnessing parallelism in FPGAs using the hume language
We propose to use Hume, a general purpose, functionally inspired, programming language, initially oriented to resource-aware embedded applications, to implement fine-grain parallel applications on FPGAs. We show that the Hume description of programs as ...
Usage of petri nets for high performance computing
Petri nets are a well established graphical and mathematical modelling language for a description of concurrent systems. The main scope of this paper is to present our approach how to use Petri nets for high-performance computing. They are rarely used ...
Haskell vs. f# vs. scala: a high-level language features and parallelism support comparison
This paper provides a performance and programmability comparison of high-level parallel programming support in Haskell, F# and Scala. Developing several parallel versions, we employ skeleton-based, semi-explicit and explicit approaches to parallelism. ...
Financial software on GPUs: between Haskell and Fortran
This paper presents a real-world pricing kernel for financial derivatives and evaluates the language and compiler tool chain that would allow expressive, hardware-neutral algorithm implementation and efficient execution on graphics-processing units (GPU)...
Seeing the futures: profiling shared-memory parallel racket
This paper presents the latest chapter in our adventures coping with a large, sequentially-tuned, legacy runtime system in today's parallel world. Specifically, this paper introduces our new graphical visualizer that helps programmers understand how to ...
Parallel discrete event simulation with Erlang
Discrete Event Simulation (DES) is a widely used technique in which the state of the simulator is updated by events happening at discrete points in time (hence the name). DES is used to model and analyze many kinds of systems, including computer ...
An embedded DSL for stochastic processes: research article
We present a domain specific language embedded in Haskell for specifying stochastic processes, called SPL;. It is designed with the goal of matching the notation used in mathematical finance, where the price of a financial contract is specified using ...
- Proceedings of the 1st ACM SIGPLAN workshop on Functional high-performance computing