Exascale Supercomputer Application Software Development Engineer (RE12)

Job Reference



Exascale Supercomputer Application Software Development Engineer (RE12)

Closing Date

Saturday, 31 July, 2021
Reference: 266_19_CS_GCS_RE12
Job title: Exascale Supercomputer Application 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 700 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 developing, porting and maintaining High Performance Computing applications and retargeting them to a RISC-V-based ISA for a European HPC accelerator. 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
  • Prototype, port, design, develop, modify and diagnose complex algorithms, utilizing C/C++, Fortan, R, Python, Matlab or other tools and languages.
  • Statistical analysis, modeling and optimization methods.
  • Research, recommend, and implement new technologies based on the value to the research facility.
  • Provide outstanding direct and indirect user support.
  • Education
    • Ph.D. in Computer Science or related Engineering degree or equivalent level of professional experience.
  • Essential Knowledge and Professional Experience
    • 5+ years of experience in Software or Tools development using C/C++, Fortran, and/or Python (PyTorch experience a plus).
    • Ability to invent, develop and implement new algorithms and ideas.
    • Experience with machine learning, Python, Tensorflow, and Apache Spark.
    • Experience with developing code intended for Exascale computing is highly desirable.
    • Knowledge of parallel programming / compiler infrastructure tools such as multi-threaded programs via OpenMP, CUDA, LLVM or ANTLR.
    • Experience with working on a variety of embedded processors, SOC’s and micro-controllers, RISC-V a plus.
    • Knowledge of parallel programming techniques.
    • Knowledge writing system software tuned for specific hardware features. A bonus would be if that hardware was focused on HPC and AI / Machine Learning.
    • Experience with AI / Machine Learning / Neural Network Training algorithms a plus.
    • Comfortable with one or more deep learning frameworks such as neon, TensorFlow, Caffe2, CNTK, or Torch.
    • Comfortable manipulating representations of programs.
    • Experience with LLVM, HPC, MPI, distributed systems, MKL, MKL-DNN also preferred.
    • Experience in implementing known processes for unit and feature testing of softwareStrong scripting experience using scripting languages like Python, Perl, or Tcl.
    • Signal and image processing, computer vision and machine learning.
    • Hands-on experience in object-oriented and functional programming.
    • Hands-on experience with products such as JMP, R, Python, Matlab is a plus.
    • 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 - 3 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.