Exascale Supercomputers Linux Kernel Software Development Engineer (RE12)

Job Reference



Exascale Supercomputers Linux Kernel Software Development Engineer (RE12)

Closing Date

Wednesday, 30 September, 2020
Reference: 262_19_CS_GCS_RE12
Job title: Exascale Supercomputers Linux Kernel Software Development 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

BSC is looking for talented and motivated professionals with expertise in Linux kernel development targeting RISC-V-based ISA for a European HPC accelerator. The design is based on RISC-V architecture. This is a NEW project to build the software infrastructure and toolchain for an FPGA-based emulator for an energy-efficient Exascale system.

Key Duties

  • Create and maintain customized lightweight Linux distributions for an HPC compute node, including support for containers. This includes, but is not limited to, maintaining configurations, cross-compiling build chains, and setting up continuous integration for each distribution.
  • Develop BSP: including u-boot/bootloader, device drivers; etc. for initial board bring-up and system integration environment, including packaging and deployment of software using version control.
  • Maintain and support embedded Linux (yocto) build system in a continuous.
  • Develop middleware usually based on C/C++.
  • Develop Linux kernel/application performance profiling/visualization framework.
  • Actively participate in low-level software architectural discussions.
  • Maintain and enhance embedded Linux kernel code and scripts.
  • Implement prototype software on prototype hardware with production intent.


  • Education
    • Ph.D. in Computer Science or related Engineering degree or equivalent level of professional experience.
  • Essential Knowledge and Professional Experience
    • Extensive experience with building embedded Linux, Linux Kernel, and Linux userspace packages.
    • Extensive programming experience. We use C, C++, Python, and bash. You don't have to know all of them, but should be excited to work with them.
    • Solid knowledge of operating system (Linux/UNIX) internals (process scheduling, memory management, IPC, etc.), network protocols, file systems, and hardening techniques including kernel mitigations, access control, and security configurations.
    • Experience with Yocto and Open embedded build systems a plus.
    • Experience with network stacks, kernel modules a plus.
    • Experience working on low latency and high data throughput applications.
    • Experience in developing and debugging device drivers, bootloaders, or board support packages (BSP).
    • Experience with working on a variety of embedded processors, SOC’s and micro-controllers, RISC-V a plus.
    • Experience in implementing known processes for unit and feature testing of software.
    • Agile development and open source development, deployment, and support, including GitHub or equivalent.
    • Proficient in Microsoft Office applications or equivalent.
    • Fluency in English is essential, Spanish is welcome.
  • Competences
    • The candidate must be an effective communicator, multitask, and work well on collaborative designs.
    • Keeps abreast of technology trends.
    • Ability to think creatively.
    • Ability to work independently and make decisions.
    • Ability to take initiative, prioritize and work under set deadlines and pressure.


  • 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 - 2 years 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.

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.