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 if you are interested. 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.
Contact for enquiries is Alexander Hückalexander.hueck@tu-…
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 (opens in new tab) for further information. general overview document
What is Algorithmic Differentiation?
Algorithmic Differentiation (AD, see ) 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 autodiff.orgdouble
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 ) of distributed AD-related MPI communication, TypeART
- 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
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.