The High Performance Computing research group (lead by Prof. Florina Ciorba) is seeking a highly talented and motivated Ph.D. student to conduct high quality research, publish in top venues, and pursue a doctoral degree in Computer Science, with a focus on HPC. The position is fully funded (100%) for 4 years in the context of two interdisciplinary projects "SPH-EXA: Smoothed Particle Hydrodynamics for EXAscale" and "SwissSKA: Swiss participation in the SKA Observatory".
The Ph.D. student will work closely with scientists in SPH-EXA and SwissSKA, in which a scalable and fault-tolerant SPH code for hydrodynamic simulations is developed to enable Tier-0 and Exascale simulations. The long-term and ambitious vision of SPH-EXA and SwissSKA is to employ the latest and most innovative algorithms and parallelization and performance optimization techniques in high performance computing to study fluid and solid mechanics in a wide range of research fields, starting with astrophysics and cosmology.
The topic of your Ph.D. will be on developing and applying scalable algorithms and techniques to enable domain decomposition, parallelization, scheduling, load balancing, fault tolerance, and reproducibility for hydrodynamics simulations. The emphasis will be on exploiting the hierarchical, heterogeneous, and massive parallelism of Exascale systems via hierarchical topology-aware task and data placement, non-uniform memory access awareness, and performance optimization for flagship simulations for SPH-EXA and Swiss SKA.
Algorithmic development for scalable domain decomposition, parallelization, scheduling, load balancing, fault tolerance, and reproducibility
- Code development following the C++14 standard
- Code development and parallelization for shared memory, distributed memory, accelerator offloading, and task-based programming
- Knowledge/use of high-performance parallel I/O libraries and visualization tools
- Knowledge/use of state-of-the-art (hierarchical) dynamic load balancing techniques
- Implementation of fault-tolerance mechanisms
- Execution of massively parallel numerical simulations
- Performance testing and tuning of the developed code on shared and distributed memory systems
- Employ modern software development techniques and best practices, using a continuous integration system and containerization solutions
- Conduct research in programming models, performance modeling, optimization, scheduling, fault-tolerance, and reproducibility
- Contribute to the analysis of new state-of-the-art astrophysical and cosmological simulations
- Write research papers, articles, and present results at leading international conferences
- Interact with national and international teams of computer scientists, astrophysicists, cosmologists, and high-performance computing specialists
- A Master's degree (or equivalent) in Computer Science, Computer Engineering, or Mathematics
- Very good programming skills in C, C++, Java, Python
- Good understanding of parallel programming (OpenMP, MPI, OpenACC, CUDA)
- Good knowledge of Linux OS
- Basic knowledge in distributed systems, compilers, data management, machine learning
- Experience in any of the following is advantageous: containerization, CI, HIP, Intel oneAPI, OpenCL, HPX, Kokkos
- Fluency in English (oral and written); knowledge of German, not required but is advantageous
- High motivation, strong team-working abilities, solid analytical, problem-solving, and communication skills.
- A flexible person with the ability to work under pressure
We offer you
- A doctoral dissertation topic with a significant impact on several scientific communities
- Close supervision on your Ph.D. research, working with and access to international collaborators, powerful supercomputers, and networking opportunities.
- A dynamic, supportive, and diverse working environment
- Collaboration with leading computer scientists, cosmologists, astrophysicists, and HPC centers
Application / Contact
If you have the necessary qualifications and are keen to work in an international team, please view the position description and click "apply here" to submit your application in English as a single PDF file including a motivation letter (200 words max), curriculum vitae, links to publications, links to examples of personal contributions to software, and contact info (no direct recommendation letters) for peers that can recommend you.
Applications should be sent as soon as possible but no later than July 20, 2021, when the review of applications begins. The vacancy will remain open until a suitable candidate has been hired. Applications will be regularly reviewed and potential candidates will be contacted.