Research Engineer – Advanced Automotive/Space Systems (RE1)

Context And Mission

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.

Key Duties

- Research on parallel programming models towards productivity and other non-functional requirements
- Development of compiler and run-time techniques to support extensions for performance and other non-functional requirements.
- Development of advanced application prototypes for the automotive and space domains to evaluate the proposed techniques
- Write technical reports and papers
- Attend technical meetings


Requirements

Education
- Bachelor degree in Computer Sciences or similar
Essential Knowledge and Professional Experience
- C / C++ programming
- Linux
Additional Knowledge and Professional Experience
- Knowledge on OpenMP and CUDA will be considered an asset
- Fluent English both written and spoken
Competences
- Candidates shall be proactive and self-motivated, with positive work attitude
- Ability to take initiatives, prioritize tasks and work under set deadlines
- Ability to work both independently and within a team
- Analytical thinking, problem-solving and result-oriented attitude


Conditions

- The position will be located at BSC within the Computer Sciences Department
- We offer a full-time contract (37.5h/week), a good working environment, a highly stimulating environment with state-of-the-art infrastructure, flexible working hours, extensive training plan, restaurant tickets, private health insurance, support to the relocation procedures
- Duration: Open-ended contract due to technical and scientific activities linked to the project and budget duration
- Holidays: 23 paid vacation days plus 24th and 31st of December per our collective agreement
- Salary: we offer a competitive salary commensurate with the qualifications and experience of the candidate and according to the cost of living in Barcelona
- Starting date: October 2023