research engineer on real-time and high performance systems (re1-re2) [194_24_cs_ppc_re1..

  • Barcelona
  • Barcelona Supercomputing Center Centro Nacional De SupercomputaciÓn
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 Requisits Education- Bachelor degree in Computer Sciences or similarEssential Knowledge and Professional Experience- Experience with C / C++ programming- Experience with LinuxAdditional Knowledge and Professional Experience- Knowledge on OpenMP and CUDA will be considered an assetCompetences- 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- Fluent English both written and spoken