À propos du service
TraduitJe suis un développeur Fortran spécialisé dans l'informatique scientifique et haute performance, et j'ai passé de nombreuses années à travailler sur du code numérique que d'autres ont peur de toucher. Mon travail quotidien consiste à écrire des simulations, des solveurs et des pipelines de traitement de données rapides et corrects en Fortran moderne (de F77 à 2008/2018) et à les faire fonctionner efficacement sur des machines multi-cœurs et des clusters. Contrairement à ceux qui se tournent par habitude vers Julia, MATLAB ou C++, je reste consciemment dans le monde Fortran : pour les boucles numériques denses, l'algèbre linéaire et les logiciels scientifiques hérités, c'est l'outil le plus honnête et prévisible. Je me soucie de la stabilité numérique, de la reproductibilité et de la physique correcte, pas seulement du fait que le code compile.
Une grande partie de mon travail consiste à sauver et moderniser. Les groupes de recherche et les équipes d'ingénierie ont souvent du code Fortran vieux de plusieurs décennies : il produit toujours des résultats sur lesquels tout le monde compte, mais personne ne se souvient comment il fonctionne. Je refactorise soigneusement ce code, j'ajoute des tests et de la documentation, je remplace le spaghetti à format fixe par des modules propres, je l'intègre dans des systèmes de construction et CI sans changer la science. Lorsque la vitesse est l'objectif, je parallélise via OpenMP et MPI, j'ajuste l'accès à la mémoire et la vectorisation, et je profile honnêtement pour voir où le temps s'écoule réellement. Lorsque c'est nécessaire, je lie les cœurs Fortran avec Python ou C pour des outils et de la visualisation.
Si vous avez un solveur qui est trop lent, une simulation qui doit évoluer, ou un ancien programme scientifique qui a encore des années devant lui, je peux vous aider. J'explique les compromis en termes simples, je garde les résultats vérifiables à chaque étape, et je remets du code que votre équipe peut maintenir sans moi.
— Développement en Fortran moderne (F77 à 2008/2018), modules et interfaces propres
— HPC et calcul parallèle via OpenMP et MPI sur des clusters
— Méthodes numériques : algèbre linéaire, solveurs d'ODE/PDE, intégration, optimisation
— Simulations et modélisation pour la physique, l'ingénierie et les mathématiques appliquées
— Sauvetage de code hérité : refactorisation, tests, construction, documentation
— Profilage de performance, vectorisation et réglage de la mémoire
— Lien entre Fortran et Python et C pour des outils et visualisation
Une grande partie de mon travail consiste à sauver et moderniser. Les groupes de recherche et les équipes d'ingénierie ont souvent du code Fortran vieux de plusieurs décennies : il produit toujours des résultats sur lesquels tout le monde compte, mais personne ne se souvient comment il fonctionne. Je refactorise soigneusement ce code, j'ajoute des tests et de la documentation, je remplace le spaghetti à format fixe par des modules propres, je l'intègre dans des systèmes de construction et CI sans changer la science. Lorsque la vitesse est l'objectif, je parallélise via OpenMP et MPI, j'ajuste l'accès à la mémoire et la vectorisation, et je profile honnêtement pour voir où le temps s'écoule réellement. Lorsque c'est nécessaire, je lie les cœurs Fortran avec Python ou C pour des outils et de la visualisation.
Si vous avez un solveur qui est trop lent, une simulation qui doit évoluer, ou un ancien programme scientifique qui a encore des années devant lui, je peux vous aider. J'explique les compromis en termes simples, je garde les résultats vérifiables à chaque étape, et je remets du code que votre équipe peut maintenir sans moi.
— Développement en Fortran moderne (F77 à 2008/2018), modules et interfaces propres
— HPC et calcul parallèle via OpenMP et MPI sur des clusters
— Méthodes numériques : algèbre linéaire, solveurs d'ODE/PDE, intégration, optimisation
— Simulations et modélisation pour la physique, l'ingénierie et les mathématiques appliquées
— Sauvetage de code hérité : refactorisation, tests, construction, documentation
— Profilage de performance, vectorisation et réglage de la mémoire
— Lien entre Fortran et Python et C pour des outils et visualisation