Joel's Research Page
About me: Bo Joel Svensson
Autonomous Vehicles, Vehicle Electronic Architecture, Embedded Systems
These are my current areas of research.
I have worked on acceleration of applications by utilising reconfigurable hardware, Field Programmable Gate Arrays (FPGAs), Xiling Zynq 7000 devices to be specific.
This work focused on OpenCL (High level synthesis) generated hardware kernels treated as compute black boxes. We experimented
with surrounding support infrastructure for making these OpenCL kernels execute more efficiently, for example by moving scheduling
of kernels into hardware, relieving the processing system of the ZYNQ of this task. My research in this area ended when I left Chalmers
but I continue to explore the Zynq platform and to write down what I learn in the form of guides for beginners of Zynq and FPGAs.
The Zynq development/experiment board I use is the Trenz ZynqBerry.
Streaming aggregation on an FPGA
Prajith is doing research on acceleration of streaming computations using FPGAs and
I am happy to have worked with him in exploring the capabilities of the Maxeler machine.
During a postdoc at Indiana University I participated in work on binary-instrumentation together with Buddhika Chamith and Ryan Newton .
Embedded languages and parallelism
During my Ph.D. studies Mary Sheeran, Koen Claessen, Josef Svenningsson and I were exploring high level and functional approaches to program highly parallel computers such as a GPU.
Currently there are GPUs available with over a thousand processing elements. Our approach was to develop an embedded
language in the style of Lava, using combinators to describe
parallel computation structures. We call this language Obsidian. Running an Obsidian program results in a CUDA C program being generated.
We have also experimented with Haskell embeddings of
Intel's Array Building Blocks, ArBB.
This embedded language we call EmbArBB.
- (ICFPT 2017) Prajith Ramakrishnan Geethakumari, Vincenzo Gulisano, Bo Joel Svensson, Pedro Petersen Moura Trancoso, Philippas Tsigas and Ioannis Sourdis: Single Window Stream Aggregation using Reconfigurable Hardware
- (PLDI 2017) Buddhika Chamith De Alwis Kahawitage don, Luke Dalessandro, Bo Joel Svensson, Ryan R. Newton: Instruction Punning: Lightweight Instrumentation for x86-64
- (FHPC 2016) Martin Dybdal, Martin Elsman, Bo Joel Svensson and Mary Sheeran: Low-level functional GPU programming for parallel algorithms
- (CPC 2016) Martin Dybdal, Martin Elsman, Bo Joel Svensson and Mary Sheeran: Low-level functional GPU programming for parallel algorithms
- (PLDI 2016) Buddhika Chamith, Bo Joel Svensson, Luke Dalessandro, Ryan R. Newton: Living on the edge: Rapid-toggling probes with cross modification on x86
- (JFP 2016) Bo Joel Svensson, Mary Sheeran, Ryan Newton: A Language for Hierarchical Data Parallel Design-space Exploration on GPUs
- (FHPC 2015) Michael Vollmer, Bo Joel Svensson, Eric Holk, Ryan R. Newton: Meta-Programming and Auto-Tuning in the Search for High Performance GPU Code
- (FHPC 2015) Bo Joel Svensson, Michael Vollmer, Eric Holk, Trevor L. McDonell, Ryan R. Newton: Converting Data-Parallelism to Task-Parallelism by Rewrites
- (FHPC 2014) Bo Joel Svensson, Josef Svenningsson: Defunctionalizing Push Arrays (2014)
- (CACM 2014) Bo Joel Svensson, Mary Sheeran, Ryan Newton: Design Exploration through Code-generating DSLs (2014)
- (ACM Queue 2014) Bo Joel Svensson, Mary Sheeran, Ryan Newton: Design Exploration through Code-generating DSLs (2014)
- (ICFP 2013) Josef Svenningsson, Bo Joel Svensson: Simple and Compositional Reification of Monadic Embedded Languages (2013)
- (FHPC 2013) Josef Svenningsson, Bo Joel Svensson, Mary Sheeran: Counting and Occurrence sort for GPUs using an Embedded Language (2013)
- (FHPC 2012) Bo Joel Svensson, Mary Sheeran: Parallel Programming in Haskell Almost for Free (2012)
- (DAMP 2012) Koen Claessen, Mary Sheeran, Bo Joel Svensson: Expressive Array Constructs in an Embedded GPU Kernel Programming Language (2012) (more info)
- (FASPP 2011) Bo Joel Svensson, Ryan Newton: Programming Future Parallel Architectures with Haskell and ArBB (2011)
- (PAPP 2010) Joel Svensson, Koen Claessen, Mary Sheeran:
GPGPU kernel implementation and refinement using Obsidian (May 2010)
- (IFL 2008) Joel Svensson, Mary Sheeran, Koen Claessen:
Obsidian: A Domain Specific Embedded Language for Parallel Programming of Graphics Processors (Sep 2008)
- (DCC 2008) Joel Svensson, Mary Sheeran, Koen Claessen:
Obsidian: GPU Programming in
Haskell (Mar 2008)
Related to Obsidian
Download Obsidian, EmbArBB and other Projects
From Github (svenssonjoel)
Intel's Array Building Blocks