Vectorizing code generator for Bobox

Supervisor: David Bednárek
Intended Scope: Master thesis
Required Skills: C/C++, C#, parallel programming, code optimizations, high performance computing, graph algorithms


The Bobox system is a distributed computing platform currently programmed using a graph-like execution plan over a set of boxes implemented in C++. However, a more sophisticated chain of compilation tools is envisioned, starting with a program in C#, analysing it (as described in this Master thesis), converting it into a graph-like intermediate code (see this Doctoral thesis), cut into pieces, and finally generated into a set of explicitly vectorized C++ code of boxes (see this Bachelor thesis). The goal of this proposed Master thesis is implementing the missing step of cutting into pieces - it involves optimization and tuning as the pieces must be large enough to hide external communication overhead but small enough to enable sufficient parallelism.

The content is available under Creative Commons BY-NC 3.0 License