students
Topic descriptions.
First and foremost, it is important to state that you are completely free to suggest your own topic. Topics listed here are mainly suggestions, partially in line with what I do my research in or have experience with. Either way, if you are interested in something else and you think that I can help you out with that, feel free to drop me an e-mail. Let’s talk :)
Compilers & Heterogeneity
I’m particularly interested in the problem of programmability of heterogeneous and embedded computing systems, ranging from designing novel programming languages to engineering transformations that aid the programming of such systems. I maintain a close collaboration with the PULP group which develops a wide variety of energy-efficient heterogeneous hardware. There are several options in this field:
- Development and support for customized hardware in LLVM framework-based toolchain with an optional dive in the sphere of MLIR.
- Development of a Python-based frontend for PULP hardware with the goal of enabling the writing of kernels that utilize customized hardware in Python or a Python-like language. In that context (but also regarding the previous point), check out the xDSL framework.
- Integration of either PULP-based or other types of customized hardware in research programming models or frameworks, namely (a) RISE, (b) Halide, or (c) Exo.
- Integration of PULP-based hardware in Mojo🔥, a Python-like language for the heterogeneous era.
- Development of advanced memory management schemes in RISE for heterogeneous hardware.
- Applications for heterogeneous hardware with utilization of customized or customizable accelerators.
- Compiler support for approximate computing accelerators in collaboration with the University of Ljubljana.
Biomedical systems and sensing
A field I have yet to scratch deeply, but one I’m genuinely eager to explore further, is biomedical systems, their engineering, and their application to human well-being. Right now, we are kickstarting a project in collaboration with University Hospital Centre Zagreb revolving around AI-backed processing of ECG records which we hope will be put to good use. If that sounds interesting to you, or you are curious about biomedical engineering in general, feel free to contact me for more details.
Social and political processes modeling and simulation
If you have ever wondered what is going on under human-centric everyday-life systems, with an urge to scratch the surface and see underneath? If so, this might be the section for you. In this context, I’m particularly interested in:
- Politics and political processes, e.g. simulations of elections, modeling of political ratings, influence of various electoral systems on the outcome of elections, the problem of a fair distribution of members of parliaments, etc.
- Quizzes, e. g. contestants’ choices in quizzes, quiz fairness from the perspective of a contestant, psychological aspect of the quiz dynamics, influence of constestants’ personal traits on choices, results, and outcomes, etc.
Also, if you have any other process that you would like to model and simulate, feel free to propose, and let’s discuss :)
Parallelization / Heterogeneous / HPC programming
A couple of ideas in this section:
- Parallelization of various problems
- Do you have an application that you would like to run on an HPC? Optimization, parallelization, and running the application in question on an actual HPC could be your topic.
- GPU programming
- Custom heterogeneous systems programming. This usually implies systems with accelerators for specific applications.
Embedded systems
Your topic from this section could be:
- Construction of embedded systems, IoT modules, and similar devices based on commercial off-the-shelf (COTS) components
- Software development for embedded systems, microcontrollers, etc.
- Full bottom-up development of IoT solutions, from data-collecting modules or actuators to web services handling the application logic
Other
- Automated student evaluation and grading systems
- (Propose a topic, if we manage to find common ground, we can work together)