Low Level Virtual Machine (LLVM) Software Engineer (RE12)

Job Reference



Low Level Virtual Machine (LLVM) Software Engineer (RE12)

Closing Date

Wednesday, 16 December, 2020
Reference: 229_20_CS_GCS_RE2
Job title: Low Level Virtual Machine (LLVM) Software Engineer (RE12)


About BSC
The Barcelona Supercomputing Center - Centro Nacional de Supercomputación (BSC-CNS) is the leading supercomputing center in Spain. It houses MareNostrum, one of the most powerful supercomputers in Europe, and is a hosting member of the PRACE European distributed supercomputing infrastructure. The mission of BSC is to research, develop and manage information technologies in order to facilitate scientific progress. BSC combines HPC service provision and R&D into both computer and computational science (life, earth and engineering sciences) under one roof, and currently has over 650 staff from 49 countries.

Look at the BSC experience:
BSC-CNS YouTube Channel
Let's stay connected with BSC Folks!
Context And Mission
The Computer Sciences (CS) department of the Barcelona Supercomputing Center is a key participant of the European Processor Initiative (EPI) which aims to design and execute a roadmap for a future European low power processor for HPC and automotive. BSC is involved in the EPI project as part of the accelerator stream whose goal is to build an accelerator CPU based on RISC-V. This accelerator will have support for long vectors and presents several requirements in terms of compilation toolchain and system software. We are looking for a software engineer with expertise in LLVM who is keen to work in the RISC-V architecture applied on a HPC context. The RISC-V ecosystem is very active at the moment and the support in the LLVM/clang toolchain is fairly new and needs to be extended to better support HPC systems. This includes, among others, supporting 64-bit, threading and Linux.
Key Duties
  • Development of the missing functionality in the LLVM/Clang toolchain to support RISC-V in the context of Linux and High Performance Computing.
  • Collaborate with upstream LLVM/Clang to the extent possible and contribute if there is interest in the LLVM community for the implemented features.
  • Education
    • Bachelor or Master degree in Computer Science.
  • Essential Knowledge and Professional Experience
    • Good skills in C++.
    • Experience in compiler development.
  • Additional Knowledge and Professional Experience
    • Knowledge of LLVM and Clang codebases would be a plus.
    • Good knowledge of Linux low level interfaces would be a plus.
    • Knowledge of HPC architectures and systems would be a plus.
  • Competences
    • Have good communication and interpersonal skills to be able to work within a team to complete tasks on schedule.
    • Show a problem-solving, can-do, pro-active and result-oriented attitude.
    • Be keen to deliver good quality code and follow good practices in the industry.
    • Be curious and willing to learn about LLVM, RISC-V and HPC.
  • The position will be located at BSC within the Computer Sciences Department
  • We offer a full-time contract, a good working environment, a highly stimulating environment with state-of-the-art infrastructure, flexible working hours, extensive training plan, tickets restaurant, private health insurance, fully support to the relocation procedures
  • Duration: Temporary - 31/10/2021 renewable
  • 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: ASAP
Applications Procedure
All applications must include:

  • A Cover Letter with a statement of interest in English, including two contacts for further references - Applications without this document will not be considered

  • A full CV in English including contact details

The vacancy will remain open until suitable candidate has been hired. Applications will be regularly reviewed and potential candidates will be contacted.
Diversity and Equal Opportunity Employment
BSC-CNS is an equal opportunity employer committed to diversity and inclusion. We are pleased to consider all qualified applicants for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, age, disability or any other basis protected by applicable state or local law.
This position is reserved for candidates who meet the requirements and have the legal status of disabled persons with a degree of disability equal to or greater than 33%. In case there are no applicants with disabilities that meet the requirements, the rest of the candidates without declared disability will be evaluated.


Application Form

Please, upload your CV document using the following name structure: Name_Surname_CV
Files must be less than 3 MB.
Allowed file types: txt rtf pdf doc docx.
Please, upload your CV document using the following name structure: Name_Surname_CoverLetter
Files must be less than 3 MB.
Allowed file types: txt rtf pdf doc docx zip.
Please, upload your CV document using the following name structure: Name_Surname_OtherDocument
Files must be less than 10 MB.
Allowed file types: txt rtf pdf doc docx rar tar zip.
** Consider that the information provided in relation to gender and nationality will be used solely for statistical purposes.