The Gibbon Compiler: Accelerating a small subset of Haskell
Gibbon is a compiler for a small subset of Haskell. Gibbon transforms recursive, pure functions to operate efficiently on dense, mostly-serialized data representations. Previous performance-focused, non-GHC Haskell implementations emphasized numerical computing with arrays or eliminating overhead from control constructs. Gibbon instead focuses on data representations for recursive sum types and functions on them. Tree traversals in Gibbon are usually an order of magnitude faster than GHC. Gibbon values also can be processed directly from disk, much like GHC’s Compact Normal Form, but more compact, offering a 3.2$\times$ geomean speedup over CNF across our benchmark suite.
In this talk, we’ll summarize the work on Gibbon thus far (PLDI19, ECOOP17), and ongoing development. The Gibbon project’s eventual goal is to integrate with GHC: to compile a subset of your Haskell program through Gibbon, while seamlessly calling that accelerated code from regular GHC programs utilizing the full library ecosystem.
Fri 23 AugDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00
CompilersHIW at Elk
Chair(s): Jose Calderon Galois, Inc.
|Status Update on the Helium for Haskell compiler|
Jurriaan Hage Utrecht University, Netherlands
|The Gibbon Compiler: Accelerating a small subset of Haskell|
Ryan R. Newton Indiana University, Michael Vollmer Indiana University, USA, Chaitanya Koparkar Indiana University
|Copilot 3.0: a Haskell runtime verification framework for UAVs|
Frank Dedden Royal Netherlands Aerospace Center, Alwyn Goodloe NASA Langley Research Center, Ivan Perez NIA / NASA Formal Methods
|Lightning talks Slot #2|