Nextflow Software is an Independent Software Vendor (ISV) startup headquartered in Nantes, France. Nextflow develops and sells advanced Computer-Aided Engineering (CAE) software in the field of Computational Fluid Dynamics (CFD).
Nextflow Software addresses engineering companies developing and manufacturing products and systems involving fluid flows, potentially with complex geometries and interactions with solids (e.g. moving parts, deformations), in the field of automotive, aeronautics, marine, and many other industries.
Thanks to its talented team of researchers and engineers, and based on more than 10 years of close partnership with leading
academic research laboratories from Ecole Centrale Nantes (ECN) and other universities, Nextflow Software is pushing the limits
of hydrodynamics simulation.
To take development a step further, Nextflow Software recruits an HPC Software Engineer with expertise in C++ and MPI.
Your Role & Responsibilities :
Within Nextflow’s Software Engineering team and in close collaboration with Research & Development team, you will guarantee and improve performance of massively parallel Computational Fluid Dynamics (CFD) solvers. You will also maintain and develop a new HPC solver framework for non-developer scientists.
In this context, you will:
- Design, develop and maintain next-generation object-oriented C++ solvers and development kits
- Drive the optimization from new and existing benchmarks (on supercomputers and/or GPU)
- Contribute to technical roadmaps and ensure technological watch in High Performance Computing (HPC) and in C++ new standards and compilers
- Organize dialog with CFD R&D engineers
- Be part of collaborative projects on Exascale computing
You are a C++ developer and you are highly motivated in modern C++ development and HPC.
Innovative and pragmatic with good communication skills.
You are a solution-oriented person.
- C++14 object-oriented programming, design patterns and metaprogramming (templates, traits)
- MPI communication protocol for parallel computing
- Multithreading/GPGPU (OpenMP, OpenCL, or CUDA)
- Cluster environment: Linux, Bash, SSH
- Unit tests (GoogleTest)
- Performance profiling (Intel VTune, Intel Advisor or Valgrind)
- Version control systems (Git) and Continuous Integration (Jenkins)
- Fortran 2003 for some existing solvers