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 follows 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 be focused on improving the architecture of Alya and providing support for git and GitLab to the developers and the users.
The candidate will be part of a team composed of around 50 developers with physics, chemistry, maths and computer science backgrounds, whose fields of applications include energy, biomechanics, aeronautics and smart cities.
– 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
– Bachelor or equivalent degree in Computer Science or similar qualification provided that the candidate can justify having acquired the needed capabilities and skills for the vacancy.
Essential Knowledge and Professional Experience
– Knowledge on object programming, for instance Python, C++ will be desirable
– Software design knowledge
– Clean, scalable, and maintainable code
– Notions on: CI/CD, DevOps, Git, Gitlab
– Understanding of CMake, CTest
Additional Knowledge and Professional Experience
– Notions of Fortran will be appreciated
– Since the team is international, speaking foreign languages will be an asset.
– Rigour, autonomy, autodidactism, organizing skills, problem-solving.
– Team work, interaction skills.
– 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, restaurant tickets, private health insurance, 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