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.
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.
Tool Development in the Context of Algorithmic Differentiation
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.
|Improving a C++ Static Code Analyzer||PDF-File||492kB|
|Source Transformation Tool to Globally Replace API Calls||PDF-File||549kB|
Tool Development for Automatic Mini-App Creation
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.
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
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
|Binary Analysis for Instrumentation Influence Assessment||PDF-File||105kB|
|Software Development for Compiler-Based Instrumentation||PDF-File||106kB|
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.
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.
2 items found. Show all theses.