Research Engineer on real-time and high performance systems (RE1-RE2)

Software systems used in domains such as automotive, space, large scientific infrastructures or smart cities, have seen their complexity drastically increased in the last years due to the need of implementing advanced functionalities applied to cutting edge research areas like autonomous driving, traffic management, etc. The performance requirements of these new functionalities urge the use of parallel and heterogeneous architectures capable of delivering the expected throughput while still considering other non-functional aspects of the system like real-time requirements, fault-tolerance, and energy budgets, among others.

The research activities will be focused on one or several of the following topics, among others:
1. In close collaboration with leading automotive and space companies, development of software system prototypes to address the requirements of cutting-edge functionalities.
2. Optimization of advanced software functionalities targeting parallel computing architectures, including multi-core systems, GPUs and/or FPGAs.
3. Programming models: use, implementation and extension of programming models with parallel capabilities, like OpenMP and CUDA, to target complex software systems, and concurrent languages like RUST and Ada.
4. Code transformation and optimization: high-level synthesis and compilation techniques to boost performance, predictability and correctness, mostly based on LLVM and MLIR.
5. Runtime systems: run-time techniques to boost performance, heterogeneity (targeting GPUs and FPGAs) and fault-tolerance.

The financing entities are the Ministry of Economic Affairs and Digital Transformation and the European Union-NextGenerationEU, within the framework of the PRTR and the MRR, all in accordance with what is established in this regard, in particular, in accordance with the provisions of article 34.2 of Regulation (EU) 2021/241 of the European Parliament and of the Council, of February 12, 2021.