Collection of projects for students
On this page you will find a summary of all open projects for study/bachelor and diploma theses.
Framework and Compiler for Hybrid Quantum-Classical Computing
Contemporary quantum computers provide a limited amount of qubits and are sensitive to their environment (noise). This is described by the term Noisy Intermediate-Scale Quantum Computing (NISQ) era. Quantum algorithms most often are implement in low-level abstractions similar to assembly or with low-level primitives used to drive a quantum controller. Hybrid quantum computing describes the combination of both approaches, classical computation and quantum computation. Due to the small quantum volume, i.e., the amount of qubits and the low gate fidelity, it is beneficial to move computations from the quantum world into the classical world.
In this project you will work on implementing/extending a MLIR-based compiler for hybrid quantum-classical computations.
Requirements: Good knowledge of C/C++
Beneficial: Basic understanding of Quantum Computing, linear algebra, LLVM, MLIR
Contact: Dr. Lars Schütze
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.
 
		

