avatar

À propos...

> Chef de projet, gérant, entrepreneur, développeur et expert en calcul intensif, je suis avant tout un passionné des systèmes informatiques !

Depuis mon enfance, je suis particulièrement fasciné par les mécanismes associés à l'exploitation et l’amplification des capacités de calcul des machines. J'ai activement orienté mon cursus pour développer des compétences en matière d'architectures matérielles et logicielles, afin d'acquérir une expertise dans le domaine du Calcul à Haute Performance (HPC : High Performances Computing). Aujourd'hui, je suis toujours à l'affût de nouveaux challenges et d'opportunités qui me permettraient de contribuer à des projets novateurs, open source ou non, dans le domaine du HPC.

Rest in reason, move in passion

Compétences

Algorithmie, langages, techniques...


Expert en<br>calcul intensif

Expert en
calcul intensif

Passionné par les performances de calcul, je dispose de plus de 5 années d'expérience dans le domaine du HPC. Après avoir contribué à accélérer des codes de simulation dans l'industrie, j'ai préparé, au centre de calcul du CEA, une thèse de doctorat spécialisée en Calcul Haute Performance pour supercalculateurs hétérogènes. J'ai ensuite exercé en tant qu'ingénieur de recherche dans un laboratoire, dont les travaux se focalisent sur le calcul intensif.

Compétences

Accélération de codes
Profilage, opti., parallélisation
Archi. hétérogènes
CPUs / GPUs, CPUs / MIC
Matériel spécialisé
CUDA, OpenCL, Intel MPSS
Mémoire partagée
PThread, OpenMP
Bibliothèques de calcul
MKL, AMCL, CUBLAS, FFTW
Localité de données
NUMA, NUIOA, Caches
Passage de messages
MPI
Tâches de calcul
Cilk, OpenMP
Vectorisation
Intel Intrinsics
Algo. non-bloquants
Listes, buffers
Compilation
Plugins GCC
Resources managers
SLURM, TORQUE
Outils scientifiques
MATLAB, LaTeX
  Voir plus...
Architecte logiciel<br>et developpeur

Architecte logiciel
et developpeur

Mordu de programmation bas niveau et de système, j'ai contribué à plusieurs projets, dont certains open source tel que MPC (MultiProcessor Computing). Je conçois et déploie également des sites/services web depuis plus de 10 ans et administre une 20e de serveurs sous Linux. Je développe fréquemment sur mon temps libre (C, Arduino, Raspberry Pi, Android, techno. web, scripts, etc.).

Compétences

Langages bas niveau
C, ASM (DEC Alpha)
Langages scripts
Bash, Python
Gestion de versions
Git
Tests
*Unit, Jenkins, Gitlab CI
Conception
UML, prototypage logiciel
Langages web
HTML, PHP, CSS, JS
Archi. MVC
CodeIgniter
Responsive Design
Bootstrap
Haute disponibilité
HAProxy, Proxmox VE
Performances web
Caches, CDN, sprites, TTFB
API REST
Slim
Langages objet
C++, C#, Java, Python
Système Unix
Admin., sécurité
  Voir plus...
Entrepreneur<br>et chef de projet

Entrepreneur
et chef de projet

Attiré par l’entrepreneuriat, j'ai été membre d'une Junior-Entreprise pendant 2 ans au cours de mes études. Je suis aujourd'hui, et depuis 2011, co-fondateur et co-gérent de le société JYMEO dont les cœurs de métier sont l'édition de comparateurs de prix spécialisés et les analyses statistiques destinées à établir des études de marché. J'y encadre une équipe de développeurs.

Compétences

Management
Scrum
Stratégie
Lean startup
Méthodes de dev.
TDD, XP
Outils collaboratifs
Slack, Trello, Jira
Recrutement
Annonces, tests
Planification
Diagrammes de Gantt
Encadrement de stages
Annonces, suivi
  Voir plus...
stackoverflow

score de réputation

Cafés

cafés cette année

Github

lignes de code

Expériences

HPC, programmation
& entrepreneuriat

DDN Storage

Ingénieur Logiciel

DataDirect Networks storage (DDN Storage) est une entreprise spécialisée en solutions de stockage haute performance. En 2016, DDN Storage équipe plus de 70% des 500 supercalculateurs les plus puissants au monde listés dans le top500.

Contribution au développement d'IME (Infinite Memory Engine), un accélérateur d’entrées sorties pour les applications particulièrement exigeantes en performances d’accès aux données. La solution agrège des supports de données de type flash (SSD ou NVMe) au sein de multiples nœuds de stockage afin de combiner les bandes passantes. Elle est scalable par l'adjonction de nœuds de stockage et dispose de mécanismes permettant une résilience aux pannes. IME permet d'accélérer les applications qui effectuent traditionnellement des IOs sur systèmes de stockage parallèles (GPFS, Lustre) par exemple en absorbant les pics d écriture, ou encore en accélérant les opérations de checkpoints/restart.

Burst Buffer
NVMe
SSD
NUMA

Log-structured file system
trim

JYMEO

Co-fondateur, co-gérant,
responsable technique

Domiciliée à l'incubateur des Mines, la société compte 2 gérants, 2 salariés, et plusieurs collaborateurs (freelances et stagiaires). Elle propose des solutions d'études de marchés, des formations, et édite des comparateurs de prix spécialisés tel que quelpneu.com, leader dans le domaine des pneumatiques. Poste occupé à temps partiel entre 2011 et septembre 2014, et à temps plein depuis.

Exascale Computing Research

Ingénieur de recherche

Laboratoire de recherche installé au sein du Campus TERATEC et co-financé par Intel, le Commissariat à l'Énergie Atomique (CEA), le Grand Équipement National de Calcul Intensif (GENCI), ainsi que l'Université de Versailles-Saint-Quentin-en-Yvelines (UVSQ).

Implémentation du support de matériels spécialisés (Xeon Phi, ARM) dans la plateforme d'exécution open source MPC. Évaluation des performances et benchmarks, refonte de l'installeur, mise en place de tests d'intégration continue.

Intel MPSS
Bash
C

Makefile
Autoconf
Jenkins

CEA

Thèse en informatique massivement parallèle

Le Commissariat à l'Énergie Atomique et aux énergies alternatives (CEA) est un organisme de recherche scientifique français classé en établissement public à caractère industriel et commercial (EPIC). Le CEA dispose du centre de calcul le plus puissant d'Europe en 2011. Selon un classement établi par Reuters en 2016, le CEA est l’organisme public de recherche le plus innovant au monde.

Conception d'une plateforme d'exécution hétérogène (CPUs et GPUs) et hiérarchique basée sur un modèle de parallélisme de tâches pour codes de simulation. Évaluations sur supercalculateurs dont Tera-100 (6e mondial au TOP500 en 2010) et la machine Curie (9e mondial au TOP500 en 2012) qui est hébergée au Très Grand Centre de Calcul du CEA (TGCC). Projet également associé à l'équipe de recherche Parkas (Parallélisme de Kahn Synchrone) à l'École Normale Supérieure de Paris.


C
CUDA
cuBLAS
MKL

MPI
hwloc
OpenPA
libnuma

École centrale Paris - UVSQ

Enseignement, chargé de TD du Master
Informatique Haute Performance et Simulation (MIHPS)

  Parallélisme de Threads et Modèles de Programmation
  Architectures et Programmation d'Accélérateurs Matériels
  Compilation Avancée

C
CUDA
PThread

OpenMP
Plugins GCC

INRIA

Ingénieur de recherche

Au sein de l'équipe de recherche ALCHEMY (Architectures, Languages and Compilers to Harness the End of Moore Years), développement d'un ordonnanceur de tâches de calcul à exécution hétérogène CPUs et GPU pour accélérer la factorisation LU de matrices creuses par blocs.

C
CUDA

ACML
MKL
cuBLAS

Thales

Stage de fin d'études

Accélération d'un démonstrateur à hautes performances, générant des signaux radar complexes en temps réel dur. Parallélisation hétérogène CPUs multi-cœur et GPU, vectorisation manuelle et optimisations.

C
C#
CUDA
OpenMP

RTX Thread
Intel Intrinsics
QT

Bull

Projet de fin d'études

En équipe avec deux autres étudiants. Développement d'un démonstrateur d'auto-réparation de clusters.

JAVA EE
JOnAS

University of Toronto

Stage recherche en imagerie médicale

Implémentation, optimisation vectorielle et étude de l’efficacité d'un filtre numérique en imagerie médicale. Application destinée à améliorer la détection de nerfs dans le cadre d'anesthésies locorégionales par échographies.

MATLAB
C++
OpenCV
ActionScript

MiND Services

Membre d'une Junior-Entreprise

Membre actif, chef de projets, réalisations de sites web et dispense de cours portant sur l'utilisation des systèmes informatiques à l'École des Mines de Nantes destinés aux nouveaux élèves.

PHP
HTML
SQL

CSS
JS
Web design

AsteelFlash

Stage consultant

Mission portant sur l'amélioration de l'outil informatique permettant le contrôle de la qualité de la chaîne de production.

Access
VBA
MySQL

IBM

Stage opérateur

Affecté au centre d'expédition et de montage des ordinateurs centraux (mainframes) et des serveurs haut de gamme. Étude d'une défaillance dans une base de données relative à la gestion des stocks. Développement d'un programme Java pour adapter des factures à la norme RoHS.

JAVA
Swing

Formation

Diplômes & spécialisations

Diplôme d'ingénieur


École des Mines
École des Mines
Nantes
2009

École d’ingénieurs généralistes sous tutelle du Ministère de l’Économie et de l’Industrie. Elle fait partie du plus important réseau d’écoles d’ingénieurs et de management de France : l'Institut Mines-Télécom. Spécialisation en Génie des Systèmes Informatiques.


Compilation
Génie Logiciel
Systèmes Embarqués
Linux
Systèmes Concurrents et Parallèles

Master en ingénierie électronique et informatique


Georgia Institute of Technology
Georgia Tech
Atlanta
2010

En 2010, l'université Georgia Institute of Technology atteint le rang de 4e aux États-Unis et 5e au classement académique des universités mondiales (classement de Shanghai) dans le domaine de l'ingénierie.


Fabrication des Processeurs
Architectures Avancées des Ordinateurs
Informatique Parallèle
Sécurité Réseau

Doctorat en informatique


Paris VI
Université Paris VI (UPMC)
Paris
2013

L'université Pierre-et-Marie-Curie (Paris VI) est héritière de l'ancienne Sorbonne, spécialisée en sciences. Elle est à ce titre membre fondateur de l'alliance Sorbonne Universités. Thèse de doctorat en Calcul Haute Performance financée par le Commissariat à l'Énergie Atomique (CEA).


Supercalculateur hétérogène
Matériel spécialisé
Benchmarks
Parallélisme de tâches
Localité de données

Thèse de doctorat

Expertise en Calcul Haute Performance


Parallélisme de tâches et localité de données
dans un contexte multi-modèle de programmation
pour supercalculateurs hiérarchiques et hétérogènes.

Les contributions de cette thèse s’appuient sur un modèle de programmation par tâches, dont l’originalité réside dans l’ajustement de la quantité de calcul en fonction de l’unité d’exécution ciblée (processeurs généralistes ou matériels spécialisés). Ce modèle de programmation est particulièrement adapté à un équilibrage de charge dynamique entre des ressources de calcul hétérogènes. Il favorise une meilleure exploitation des unités de traitement en offrant une meilleure réactivité en présence de variations des temps d’exécution, lesquelles peuvent être générées par des codes de calcul irréguliers ou des mécanismes matériels difficilement prévisibles. De plus, la sémantique des tâches de calcul facilite le recours à des mécanismes de gestion automatisée des opérations de cohérence des mémoires déportées et décharge les développeurs de cette tâche fastidieuse et source d’erreurs.

J'ai développé la plateforme d’exécution H3LMS afin d’agréger les propositions de cette thèse. H3LMS permet, entre autres, de mieux aiguiller les tâches vers les unités de traitement appropriées en réduisant la quantité de coûteux accès distants au sein d’un nœud d'une grappe de calcul. Ces travaux s’intéressent également à l’adaptation de codes de simulation existants, conçus à l’origine pour exploiter exclusivement des processeurs traditionnels et pouvant comporter plusieurs centaines de milliers de lignes de code. Les performances de la solution développée sont évaluées sur la bibliothèque Linpack et par une application numérique réaliste du CEA.


Équilibrage hiérarchique par granularités multiples

Ordonnancement NUMA aware

Renforcement de la localité temporelle des données

Cohabitation avec d’autres modèles de programmation

Divers

Autres passions & hobbies


Plongée sous-marine (N2)
Parachutisme
Judo (ceinture marron)
Pratique occasionnelle de sports co.
Course à pied
Électronique
Robotique

Contact

Laissez-moi un message