Joel's Research Page

About me: Bo Joel Svensson

Google Scholar


Autonomous Vehicles, Vehicle Electronic Architecture, Embedded Systems:
These are my current areas of research.

Reconfigurable computing:
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 (plan 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 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.

Embedded languages and parallelism:
During my Ph.D. studies we were exploring ways to program highly parallel computers such as a GPU. Currently there are GPUs available with over a thousand processing elements. Our approach so far is to develop an embedded language in the style of Lava, using combinators to describe parallel computation structures. We call this language Obsidian. CUDA C programs are generated when running an Obisidian program. We have also experimented with Haskell embeddings of Intel's Array Building Blocks, ArBB. This embedded language we call EmbArBB.

Presentation slides



Experiment documentation

Technical reports


Related to Obsidian

Download Obsidian, EmbArBB and other Projects

From Github (svenssonjoel)

Counting sort


Related links
Intel's Array Building Blocks