Contexte et atouts du poste
Dans de nombreux contextes d’utilisation de l’intelligence artificielle, la phase d’apprentissage est la plus sensible. Afin de l’améliorer, des techniques innovantes ont été développées à l’Institut de Matématiques de Bordeaux (IMB) pendant la thèse de Bilel Bensaid. Ces techniques sont adaptables à la plupart des optimiseurs classiques (GD, Momentum, RMSProp, Adam, …) et permettent d’obtenir à la fois des garanties et des améliorations sensibles de performances.
Dans le cadre du PUI (Pôle Universitaire d’Innovation), les chercheurs de l’IMB ayant co-développé ces techniques et le Service d’Expérimentation et de développement du centre Inria de l’université de Bordeaux ont décidé de mettre leurs compétences en commun afin de proposer un code de calcul efficace et en libre accès à la communauté qui intègre notamment ces nouvelles techniques.
Le poste vise donc à construire une version de ce code et à le tester sur des problèmes d’intérêt scientifique pour l’IMB et le centre Inria de l’université de Bordeaux.
Rattaché au Service d’Expérimentation et de développement du centre Inria de l’université de Bordeaux, la ou le stagiaire sera immergé dans un collectif d’ingénieur.e.s favorisant le partage de compétences et de savoir-faire.
Mission confiée
Un code a été développé et validé par 2 chercheurs (Rodolphe Turpault et Gael Poette) qui comprend notamment les méthodes innovantes décrites en contexte. Ce dernier est réalisé en Fortran 2008 et parallélisé en MPI. Ce code est un bon démonstrateur, mais reste limité puisqu’il ne permet pas de faire des calculs sur GPU.
L’objectif de ce stage sera donc de réaliser un code inspiré de ce dernier, mais permettant de réaliser les calculs sur des architectures GPU. Ce code devra allier performance et ergonomie d’utilisation: il servira en effet de base à un logiciel open source à disposition de la communauté.
Principales activités
Activités principales :
- Cahier des charges fonctionnel pour la réalisation du code ;
- Analyse technologique et Rédaction de l’expertise technique ;
- Implémentation du code et en particuliers des noyaux GPU identifiés
Activités complémentaires :
- Réalisation des benchmarks fonctionnels ;
- Réalisation des benchmarks applicatifs (Base de données de Pacemaker pour la Cardiologie) ;
- Rédaction de la documentation du code, de tutoriels ;
- Mise en place du process d’Intégration Continue
Compétences
Stage niveau M2 ou dernière année école d'ingénieur
1. Solides compétences en programmation pour le calcul scientifique (profilage, optimisation, parallélisation) ;
2. Appétence pour la Science des données est un plus ;
3. Connaissances solides et expérience en : Maîtrise des langages : C/C++, Fortran, Python Architecture logicielle et bonnes pratiques en développement logiciel Langage pour accélérateur : CUDA, OpenACC…
4. Connaissances et expérience en maquettage, prototypage logiciels ;
5. Capacité à conduire la veille technologique ;
6. Capacité à rédiger, publier et présenter en français et en anglais ;
7. Capacité à comprendre les contextes et besoins scientifiques, et à les traduire dans des implémentations
technologiques
Avantages
8. Restauration subventionnée
9. Transports publics remboursés partiellement
10. Congés
11. Possibilité de télétravail après 2 mois d'ancienneté (jusqu'à 2 jours par semaine max)
12. Équipements professionnels à disposition
Rémunération
Gratification au taux en vigueur
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.