Open positions

Student Jobs

The Scientific Computing group is looking for students to support our software development and research.

On this page you will find a selection of job postings and open theses. A joint work to find a more appropriate job position or thesis topic is also possible.

Please contact the relevant staff member if you are interested.

Open Positions

The job vacancies represent a selection of possible subject areas, but are not limited to them. Additionally, the job postings may also be available as a thesis topic. If you have any questions or comments, please contact the responsible staff member.

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.

Student Tutor Positions

This section currently contains only German postings.

Systemnahe & parallele Programmierung (SPP)

Für die Veranstaltung Systemnahe & parallele Programmierung (SPP) im WS 2019/20 sucht das Fachgebiet Scientific Computing (Prof. Dr. Christian Bischof) studentische Tutoren.

  • 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 und Modelle für paralleles Rechnen
  • Parallele Algorithmen

Aufgabe der Tutoren ist die Betreuung von Übungenin Form von Sprechstundenund drei vorlesungsbegleitenden Praktika. In den Praktika werden unterschiedliche Arten der Parallelisierung wie z.B. OpenMP, MPI und CUDA behandelt.

Voraussetzungen

  • Kenntnisse in C/C++ und paralleler Programmierung
  • Deutsch (Vorlesungssprache)
  • gutes Ergebnis in SPP

Modalitäten

  • Die Tätigkeit kann gegen Bezahlung (20h/Monat) oder als Praktikum in der Lehre ausgeübt werden
  • Die Tätigkeit erstreckt sich von Anfang Oktober 2019 bis Ende Februar 2020

Sonstige Informationen

Bei Interesse schicken Sie bitte eine kurze E-Mail mit Informationen über Ihre Vorkenntnisse sowie – falls vorhanden – Nachweise erbrachter Leistungen im Themenbereich an den unten genannten Ansprechpartner.

Ansprechpartner

Tool Development in the Context of Algorithmic Differentiation

Contact for enquiries is Alexander Hück – ()

General Overview

Algorithmic Differentiation (AD) 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 exp.

The AD tool development of the SC group is focused on

  • applying an existing AD tool to a code base, thus enabling efficient derivative computations,
  • developing tools to make the usage of AD easier for developers (see the tool OO-Lint), and,
  • performance analysis to enable the efficient combined usage of different AD techniques.

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 for further information.

Job Vacancies

DateiTypGröße
Improving a C++ Static Code AnalyzerPDF-File492kB
Source Transformation Tool to Globally Replace API CallsPDF-File549kB

Tool Development for Automatic Mini-App Creation

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.

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
  • Carrying out benchmarks and tests
    • Evaluating the developed methods to 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

Job Vacancies

DateiTypGröße
Binary Analysis for Instrumentation Influence AssessmentPDF-File105kB
Software Development for Compiler-Based InstrumentationPDF-File106kB

Workplace

The Scientific Computing Group offers students a dedicated work room with a view of the conference center Darmstadium and the Darmstadt Schloss.

In total five workplaces are available, consisting of three notebook workplaces and two equipped with a workstation each.

Open Theses