CI/CD Research Engineer (RE2)

Updated: over 1 year ago
Deadline: 31 Oct 2022

Context And Mission

The mission revolves around Alya, a high-performance computational mechanics code developed within the CASE department to solve complex coupled multiphysics/multi-scale/multi-domain problems, which are mostly coming from the engineering realm. Among the different physics solved by Alya, we can mention incompressible/compressible flows, non-linear solid mechanics, chemistry, particle transport, heat transfer, turbulence modelling, electrical propagation, etc.

For a couple of years, the development of Alya has followed a CI/CD scheme based on Gitlab tools (issues, merge requests, etc.), pipelines, and API. The complexity of the CI/CD pipeline has increased with the addition of new features, the integration of multiple third-party libraries, and the deployment of Alya on new platforms that require more “exotic” compilers or compilation options. We want to optimize the pipeline as much as possible to reduce the potential bottlenecks hindering development and preventing daily code integration. In particular, much effort will be put into optimizing the regression test framework that runs thousands of tests on various HPC platforms.

The candidate will participate in deploying and maintaining the GitLab infrastructure, i.e. the physical machines and the OpenStack virtual machines running the self-hosted GitLab server, as well as the GitLab runners executing the pipeline jobs.
The candidate will also be involved in improving the build system based on CMake and help the developers integrate new third-party libraries and extend the compilation options. Work will also focus on improving Alya's architecture and providing support for git and GitLab to the developers and the users.

Key Duties

  • CI/CD management of the HPC code Alya and its tools Maintaining and optimizing the CI/CD pipeline Deploying and maintaining the Gitlab infrastructure
  • System administration of the machines (physical, virtual, and cloud) hosting Gitlab and its runners
  • Build system improvement and integration of third-party libraries
  • Architecture design and improvement of the HPC code Alya
  • Support to the users and developers using GitLab and git

Requirements

Education

  • Bachelor or equivalent degree in Computer Science or another qualification provided that the candidate can justify having acquired the needed capabilities and skills for the vacancy.

Essential Knowledge and Professional Experience

  • CI/CD, DevOps, Git, Gitlab
  • Python, C++
  • CMake, CTest
  • Software design knowledge
  • Clean, scalable, and maintainable code
  • Please indicate in your CV your GitHub/GitLab account or any link where we can access your projects and the code you have written.

Additional Knowledge and Professional Experience

  • MPI
  • HPC platforms, slurm
  • Web (HTML, CSS, JavaScript)
  • Fortran
  • Since the team is international, speaking foreign languages will be an asset.

Competences

  • Rigour, autonomy, autodidactism, organizing skills, problem-solving, and interaction skills.

Conditions

The position will be located at BSC within the CASE 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: Open-ended contract due to technical and scientific activities linked to the project and budget duration
  • 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 - October


Similar Positions