Optimisation Maintenance et Développement Algorithmique du Logiciel Openrox H/F INRIA

  • Nice - 06
  • CDI
  • Télétravail partiel
  • Bac +2
  • Bac +3, Bac +4
  • Bac +5
  • Service public des collectivités territoriales
Lire dans l'app

À noter sur ce job

Vous avez ces compétences ? Cliquez dessus pour les ajouter rapidement à votre profil !

Détail du poste

Optimisation, maintenance et développement algorithmique du logiciel OPENROX

Contrat renouvelable : Oui

Niveau de diplôme exigé : Bac +5 ou équivalent

Fonction : Ingénieur scientifique contractuel

Niveau d'expérience souhaité : Jeune diplômé

A propos du centre ou de la direction fonctionnelle

L'Inria est l'Institut national de recherche en sciences du numérique, dont le centre Inria d'Université Côte d'Azur fait partie. Avec une forte expertise en informatique et mathématiques appliquées, les projets de recherche du centre Inria d'Université Côte d'Azur touchent toutes les dimensions des sciences et technologies du numérique, et génèrent de l'innovation. Implanté principalement à Sophia Antipolis, mais également à Nice ou Montpellier, il regroupe 47 équipes de recherche et neuf services d'appui. Il est présent dans les domaines de l'intelligence artificielle, la science des données, la sécurité des systèmes informatiques, la robotique, l'ingénierie de réseaux, la prévention des risques naturels, la transition écologique, la biologie numérique, les neurosciences computationnelles, les données de santé... Le Centre Inria d'Université Côte d'Azur est un acteur majeur en termes d'excellence scientifique par les résultats obtenus et les collaborations tant au niveau européen qu'international.

Contexte et atouts du poste

OPENROX est une bibliothèque logicielle de recherche et développement dédiée à la robotique, à la vision par ordinateur, à l'estimation, à l'optimisation numérique et, plus généralement, aux méthodes nécessaires à la perception et à la commande de systèmes robotiques autonomes.

L'architecture d'OPENROX est organisée en plusieurs dépôts et modules pouvant être développés en C, C++ et Python. Le dépôt C constitue une base importante de la bibliothèque et fournit notamment des briques de calcul scientifique, de traitement géométrique et algorithmique destinées à être réutilisées par différentes applications et différents modules. Certaines fonctionnalités peuvent également être développées directement en C++ ou en Python lorsque cela est pertinent.

L'ingénieur R&D aura pour mission principale de contribuer à la consolidation et à l'évolution de la bibliothèque OPENROX. Il interviendra à la fois sur l'optimisation des performances, la maintenance du code existant et l'implémentation de nouveaux algorithmes issus des travaux de recherche de l'équipe.

Il assurera également l'encadrement technique d'un alternant travaillant spécifiquement sur l'accélération GPU de certaines briques de calcul, notamment à l'aide de technologies telles que CUDA ou OpenCL selon les besoins du projet.

Mission confiée

  1. Optimisation des performances de la bibliothèque
    • Analyser les performances des différents modules d'OPENROX et identifier les principaux goulets d'étranglement.
    • Mettre en place et utiliser des outils de profiling et de benchmarking adaptés aux développements en C/C++.
    • Optimiser les temps d'exécution, l'utilisation mémoire et les accès mémoire des algorithmes critiques.
    • Exploiter efficacement les architectures CPU multicoeurs, les bibliothèques de calcul optimisées et, lorsque cela est pertinent, les possibilités de vectorisation SIMD.
    • Étudier les compromis entre performance, précision numérique, maintenabilité et portabilité du code.
    • Mettre en place des benchmarks reproductibles afin de suivre l'évolution des performances de la bibliothèque.
  2. Maintenance et amélioration de la qualité logicielle
    • Maintenir et faire évoluer les modules existants de la bibliothèque OPENROX.
    • Corriger les anomalies, problèmes de stabilité numérique, erreurs mémoire et problèmes de portabilité.
    • Améliorer la lisibilité, la modularité et la cohérence des interfaces logicielles.
    • Renforcer les tests unitaires, les tests de non-régression et les tests de performance.
    • Participer à l'amélioration de la documentation technique et des exemples d'utilisation.
    • Veiller à la compatibilité du code sur les principales plateformes ciblées, notamment Linux et Windows lorsque nécessaire.
    • Contribuer aux procédures d'intégration continue et de validation automatique du logiciel.
  3. Implémentation de nouveaux algorithmes
    • Implémenter dans OPENROX de nouveaux algorithmes issus des travaux de recherche de l'équipe ACENTAURI.
    • Transformer des prototypes de recherche en implémentations robustes, documentées et réutilisables.
    • Développer principalement en C et C++, avec possibilité d'intervenir également sur des modules Python selon les besoins.
    • Implémenter des méthodes relevant notamment de la géométrie, de l'algèbre linéaire numérique, de l'estimation, de l'optimisation, de la vision par ordinateur et de la robotique.
    • Comparer les nouvelles implémentations à des méthodes de référence en termes de précision, robustesse et temps de calcul.
    • Participer à la définition d'API adaptées à l'intégration de nouveaux algorithmes dans la bibliothèque.
  4. Encadrement technique de l'alternant GPU
    • Encadrer techniquement un alternant travaillant sur l'optimisation GPU d'OPENROX.
    • Identifier avec lui les fonctions et algorithmes les plus pertinents à porter sur GPU.
    • Définir les objectifs techniques, priorités et protocoles de benchmark.
    • Relire et valider les développements GPU produits dans le cadre de l'alternance.
    • Veiller à la cohérence entre les implémentations CPU et GPU ainsi qu'à la validation numérique des résultats.
    • Participer aux choix d'architecture permettant l'intégration de CUDA, OpenCL ou d'autres solutions d'accélération dans OPENROX sans dégrader la maintenabilité générale de la bibliothèque.

Principales activités

  • Identification et optimisation des principaux modules critiques d'OPENROX.
  • Mise en place d'une suite de benchmarks permettant de mesurer les performances et leur évolution.
  • Amélioration de la stabilité, de la couverture de tests et de la maintenabilité de la bibliothèque.
  • Intégration de nouveaux algorithmes développés par l'équipe ACENTAURI.
  • Documentation des choix d'implémentation et des optimisations réalisées.
  • Encadrement et intégration des travaux GPU réalisés par l'alternant.
  • Proposition d'une feuille de route technique pour poursuivre l'optimisation CPU/GPU et l'évolution de l'architecture d'OPENROX au-delà du contrat.

Compétences

Compétences techniques et niveau requis :

  • Très bonne maîtrise du langage C.
  • Bonne maîtrise du C++ moderne.
  • Solides compétences en algorithmique, structures de données et programmation scientifique.
  • Bonne connaissance de l'algèbre linéaire numérique et des problématiques de calcul scientifique.
  • Expérience du profiling et de l'optimisation de performances sur CPU.
  • Bonne compréhension de la hiérarchie mémoire, des caches, des accès mémoire et du parallélisme multicoeur.
  • Maîtrise des outils de développement sous Linux : Git, CMake, compilateurs GCC/Clang, outils de debug et de profiling.
  • Une expérience des bibliothèques BLAS/LAPACK, Intel MKL, OpenBLAS ou équivalentes constitue un atout.
  • Des connaissances en CUDA, OpenCL ou programmation GPU constituent un atout important.
  • La connaissance du logiciel OPENROXconstitue un plus important.
  • Une expérience de Python scientifique est appréciée.
  • Une expérience en robotique, vision par ordinateur ou estimation d'état constitue un plus.

Langues :

  • Francais
  • Anglais

Compétences relationnelles :

  • Le candidat devra faire preuve d'autonomie, de rigueur dans la validation expérimentale et numérique, ainsi que d'une capacité à interagir avec des chercheurs, ingénieurs et étudiants travaillant sur des problématiques variées.

Compétences additionnelles appréciées :

  • Une capacité à encadrer techniquement un développeur junior ou un alternant est également attendue.

Avantages

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
  • Possibilité de télétravail (après 6 mois d'ancienneté) et aménagement du temps de travail
  • Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
  • Prestations sociales, culturelles et sportives (Association de gestion des oeuvres sociales d'Inria)
  • Accès à la formation professionnelle
  • Sécurité sociale

Rémunération

A partir de 2692 €brut mensuel (selon diplôme et expérience)

Bienvenue chez INRIA

A propos d'Inria

Inria, l'institut national de recherche dans les sciences et technologies du numérique, est en appui de l'État pour les stratégies nationales de recherche et d'innovation du numérique en tant qu'Agence de programmes. Inria mène plus de 300 projets de recherche et d'innovation avec ses 3500 scientifiques, ingénieurs et personnels d'appui, en partenariat avec les universités et l'écosystème numérique (entreprises, entrepreneurs, acteurs publics). Ensemble, nous explorons des domaines clés comme l'intelligence artificielle, la cybersécurité, l'informatique quantique, le Cloud, la transformation numérique de la santé, les jumeaux numériques ou encore les technologies numériques pour la défense. Nous construisons des solutions concrètes telles que des logiciels, des startups technologiques, des partenariats avec les entreprises du tissu national et des formations de pointe. Notre objectif : l'impact scientifique, technologique et industriel au service de la souveraineté numérique de la France.

Publiée le 03/09/2026 - Réf : 922359913b81a053709e1e7cc9f9818b

Postuler
Créez votre compte
Hellowork et postulez

sur le site du partenaire !

Ces offres pourraient aussi
vous intéresser

CNS Communications recrutement
Nice - 06
CDI
50 000 - 75 000 € / an
Télétravail partiel
Voir l’offre
il y a 29 jours
Voir plus d'offres
Les sites
L'emploi
  • Offres d'emploi par métier
  • Offres d'emploi par ville
  • Offres d'emploi par entreprise
  • Offres d'emploi par mots clés
L'entreprise
  • Qui sommes-nous ?
  • On recrute
  • Accès client
Les apps
Nous suivre sur :
Informations légales CGU Politique de confidentialité Gérer les traceurs Accessibilité : non conforme Aide et contact