Collection of projects for students
On this page you will find a summary of all open projects for study/bachelor and diploma theses.
Contact: Dr. Steffen Köhler
Modeling Source Code for Machine Learning
Central to ML-Methods is the way how to represent and model data, with the goal to learn meaningful features for the given task. In compilers, knowledge from analysis can be exploited to construct better models. So far, we have explored representations at different levels and modeled them using Graph Neural Network (GNN) models. Your task will be to work on new models with additional compiler-internal semantics.
Requirements: C/C++, Python
Beneficial: Machine Learning, Graph Algorithms
Related Work: [1], [2], [3]
- Compilation for unconventional architectures:
Emerging non-volatile memory technologies have the potential to compute various logic and compute operations in place. They, however, have their own limitations. In this project, you will work on developing/extending a compiler that hides/mitigate these limitations and exploit the full potential of these novel architectures. As a target system, you will work on compute-in-memory (CIM) systems using various nonvolatile memory technologies.
Requirement(s): You should be motivated and have some C++ background (LLVM/MLIR background is preferred).
- Simulation infrastructure for CIM systems:
To quickly characterize and understand the various tradeoffs in CIM systems (see the description of the project above), it is imperative to have simulation tools that can model them. In this project, you will work on developing a gem5-based simulation infrastructure for CIM systems (similar to the following). The tools will enable the exploration of different NVM technologies at different memory hierarchy levels. Feel free to ping me for more details.
Requirement(s): C/C++ (basic computer architecture knowledge is preferred).
- Intelligent Data Movement in the Memory Hierarchy:
Contact details and further tasks description can be found here.