Student Jobs

The institute for Scientific Computing is looking for motivated students to support our group in its various tasks, e.g., software development or website administration. This page lists current openings, with the respective contact.

Student Jobs

The Institute for Scientific Computing is looking for motivated students to support our group in its various tasks, e.g., software development or website maintenance. Our jobs offer a possibility to work on challenging and current research questions and gain experience in various fields of applications.

This page lists different job postings and open theses. Many of the job postings can also be done as a thesis. If you have an idea for a thesis in a topic relevant to our group, we are generally open to suggestions.

Please contact the relevant staff member if you are interested.

Note, this page will be continuously updated with new job offers and theses postings. For more information on a job vacancy, please click on the respective title.

Contact for enquiries is Alexander Hück

For Systemnahe & parallele Programmierung (SPP) in winter term 2022/23, the Institute for Scientific Computing (Prof. Dr. Christian Bischof) is looking for tutors.

Systemnahe & Parallele Programmierung ist eine Pflichtveranstaltung im Bachelorcurriculum Informatik und vermittelt die folgenden Inhalte:

  • Programmiersprachen für systemnahe Programmierung (C/C++)
  • Grundlagen paralleler Systeme
  • Parallele Architekturen, Multi- und Many-Core Systeme, Rechnernetze
  • Programmierparadigmen, Modelle und Algorithmen für paralleles Rechnen

Tätigkeiten

Aufgabe der Tutor*innen ist die Betreuung von drei Übungen und drei vorlesungsbegleitenden Praktika. In den Praktika werden unterschiedliche Arten der Parallelisierung (OpenMP, MPI und CUDA) behandelt.

Studierende mit Interesse an diesen Themen und Freude an tutorieller Lehre sind herzlich eingeladen, sich als Tutor*in zu bewerben.

Voraussetzungen

  • Kenntnisse in C/C++ und paralleler Programmierung
  • Deutsch (fließend, weil Vorlesungssprache)

Modalitäten

  • Die Tätigkeit kann gegen Bezahlung oder als Praktikum in der Lehre ausgeübt werden.
  • Die Arbeitszeit beträgt ca. sechs Stunden pro Woche.
  • Die Tätigkeit erstreckt sich von Anfang Oktober 2022 bis Ende Februar 2023.

Sonstige Informationen

Bei Interesse schicken Sie bitte eine kurze E-Mail mit Ihren Vorkenntnissen sowie – falls vorhanden – Nachweise erbrachter Leistungen im Themenbereich an den unten genannten Ansprechpartner.

Ansprechpartner: Alexander Hück

Word cloud of topics w.r.t. AD efforts @ SC

Contact for enquiries is Alexander Hück

Synopsis

We are interested in students who want to help develop tools powered by compiler technology to assist with the application of algorithmic differentiation. This pertains to, e.g., (1) static code analysis, (2) memory tracking for correctness checks, or (3) source transformations.

You will assist in developing (compiler) tools, performance models and benchmarks to achieve these goals. Also, please take a look at the general overview document (opens in new tab) for further information.

What is Algorithmic Differentiation?

Algorithmic Differentiation (AD, see autodiff.org) is a set of techniques based on the mechanical application of the chain rule to obtain derivatives of a function given as a computer program. AD exploits the fact that every computer program, no matter how complicated, executes a sequence of elementary arithmetic operations such as additions or elementary functions such as cos. To achieve this in C++, the built-in type double is replaced by a user-defined type, which overloads all required operators. The new type calculates the same values as before and, also, calculates the derivative.

Areas of work

In general, the AD tool development of the SC group is focused on

  • applying an existing AD tool to a code base,
  • developing tools to support the application of AD (see the tool OO-Lint),
  • correctness verifications (see the tool TypeART) of distributed AD-related MPI communication,
  • performance analysis to enable the efficient combined usage of different AD techniques.

Requirements

  • Strong fundamentals w.r.t. modern C++
  • Knowledge of the CMake build system
  • Experience with the Clang and LLVM compiler framework

Job Vacancies

Contact for enquiries is Jan Lehr ()

General Overview

The LOEWE project “Software-Factory 4.0” (www.sf40.de) started in January 2018 with the goal to speed up the process of adapting high-performance computing applications to new hardware generations. Our group develops a tool that reduces existing large scientific applications to representative, so-called, Mini-Apps. These can be used to analyze the application's behavior more easily. The insight gathered can then be used to improve the original application. Within this project we are looking for very good Bachelor or Master students to support us as HiWi.

Already open-sourced software projects include PIRA (github) (opens in new tab) and MetaCG (github) (opens in new tab).

Responsibilities

Within the project, you carry out different tasks, depending on your profile. These tasks include but are not limited to:

  • Software development in Python and C++
    • Implementation of new features
    • Improvements to the test suite
    • Improvements to the general usability of the tools we develop
  • Application of methodologies and the supporting tools
    • Evaluating the developed methods on real-world scientific applications
    • Validating the automatically generated insights into application performance

Requirements

Besides being motivated and dependable, you should show at least one of:

  • Proficiency in C++ and/or Python
  • Knowledge of algorithms and data structures (specifically graphs)
  • Proficiency in Clang/LLVM (e.g. from attending our practical lecture “Compiler Tooling”)
  • Proficiency in benchmarking (e.g. by attending our seminar “Performance Engineering”)
  • Knowledge of OpenMP and/or MPI

Contact for enquiries is Yannic Fischler ( )

General Overview

You are interested in numeric Simulations, parallel computing or nodelevel performance engineering and you like to apply your skills in Performance Analyse, OpenMP, MPI oder CUDA on softare for climate research. Then you are exactly the right person to support us in our current project. You get your own task that you work on during your work or your final.

Areas of work

The following tasks exist in the project (other tasks are possible):

  • Performance analysis and modelling of individual cores
    • node-level performance (roofline model)
    • MPI communication (scaling)
  • Testing of the current measurement tools
    • Apply current tools
    • Refinement of filter lists
    • Testing of new tools
  • Software development C, C++ and CUDA
    • Performance optimization using compiler, code optimization or new other technologies (e.g. OpenMP, CUDA)
    • Parallelization using OpenMP or OpenACC

Requirements

Besides being motivated and dependable, you should show at least one of:

  • Proficiency in C and C++
  • Knowledge of MPI and OpenMP or CUDA
  • Knowledge of algorithms and data structures (especially sparse matrices and solver)
  • Erfahrung in der Durchführung und Auswertung von Performanceanalysen
  • Experience in performance analysis (e.g. by attending our seminar „Performance Engineering“)

Job Vacancies

Datei Typ Größe
issm-hybridapproachPDF-File270kB
issm-rooflinemodelPDF-File270kB

Contact for enquiries is Giang Nam Nguyen ( )

General Overview

The need for quantum-resistant cryptosystems arose from the fact that the quan- tum supremacy, which is demonstrated by the well-known Shor algorithm for factorization, can be destructively used to break the current public key system like RSA or ECDSA.

Areas of work

Being involved as a research project within CROSSING, our research focuses on:

  • Lattice-based blind signature schemes
    • In this context, we mainly focus on two schemes blaze and blazePlus [2]. The primary task is to refactor an existing C/C++ implementation of blazePlus in terms of adapting new parameters. Other schemes, which are being developed and share com- mon building blocks with blazePlus, need also to be implemented. Upon achieving working implementations, another task is to optimize them on current CPU architectures.
  • Cryptanalysis in isogeny-based cryptography
    • The hard problem which underlies this type of PQC is the CSSI problem. The goal is to achieve a parallel solver utilizing GPUs as accelerators for compute-intensive parts of the algorithm. Thus, you will be involved in the development of a solver primarily targeting the host side (CPU). Furthermore, another task is to implement the isogeny computation, which is the hotspot of the solver, by employing the existing libraries for multi-precision integer arithmetic on GPUs.

Requirements

Besides being motivated and dependable, you should show at least one of:

  • Successfully passed the course Computersystemsicherheit
  • Good programming skills in C/C++
  • English for reading literature and writing documentation
  • Working time may vary between 40-60 hours per month

Job Vacancy

Datei Typ Größe
hpc-solutionsPostQuantumPDF-File577kB

Workplace

The Institute for Scientific Computing offers students a dedicated work room.

In total five workplaces are available, each with a monitor for your notebook.

In addition to the student research positions (HiWi) listed above, the Scientific Computing group offers the following dissertations.

If a suitable topic is not listed, contact one of the employees. We are willing to work together to find a suitable topic for a thesis.

A detailed overview of dissertations can be found under the heading Teaching.

  • Source to source Partitioning of Mpi operations

    Master Thesis

    Supervisors: Prof. Christian Bischof, Tim Jammer, M.Sc.

    Announcement as PDF

  • Mutationstests als Ansatz zur Validierung von MPI Correctness-Tools

    Master Thesis

    Supervisors: Prof. Christian Bischof, Tim Jammer, M.Sc.

    Announcement as PDF