Offre d’emploi HPC

Parce que hormis la localisation, j’y aurais bien répondu :

Ingénieur Développement GPU/HPC

Le Consortium Scilab recrute un Ingénieur Développement GPU/HPC à compter du 1er novembre 2010.

Type de contrat : CDD de 18 mois (possibilité de CDI à terme) à compter du 1er novembre 2010
Rémunération : entre 35k€ et 40k€ brut/an selon diplômes et expérience
Lieu : INRIA – Centre de recherche de Rocquencourt (navettes à disposition)
Environnement

Scilab (www.scilab.org) est un logiciel de calcul numérique issu des recherches menées à l’INRIA et développé aujourd’hui au sein de la fondation DIGITEO par le Consortium Scilab regroupant académiques et industriels dont l’objectif est de faire du logiciel l’outil de référence international aussi bien dans l’industrie, dans la recherche que dans l’enseignement.

Scilab est un logiciel libre fortement diffusé dans le monde entier. Le travail proposé se déroule dans le cadre du développement professionnel d’un logiciel libre en liaison forte avec de nombreux partenaires et soutenu par une communauté dynamique.
Missions et activités

Dans le cadre du projet OpenGPU (http://www.opengpu.net/) et afin de renforcer notre équipe de recherche et développement, nous recrutons un développeur.

Le projet OpenGPU vise à valoriser l’utilisation des GPU (Graphics Processing Units) par la création d’un ensemble logiciel en fédérant les efforts des différents partenaires du projet.
L’implication de Scilab dans OpenGPU a pour but d’intégrer les possibilités offertes par le GPU dans la plateforme Scilab tout en simplifiant l’accès à cette technologie.

Sous la hiérarchie du responsable des développements et en collaboration avec l’équipe de R&D, vous aurez pour missions de :
– Développer et étendre les composants GP-GPU de Scilab,
– En fonction de vos compétences, participer aux développements de différentes tâches HPC (OpenMP, MPI, parallélisation de l’interprète, etc.).
Compétences et profil

* Connaissances professionnelles nécessaires :

– Programmation GPU (CUDA, OpenCL).
– Expert C/C++.
– Programmation multithread.

* Connaissances professionnelles appréciées :

– Utilisation d’outils de versioning (SVN, GIT).
– Processus et outils d’assurance qualité logiciel.
– Expérience en programmation d’interprète (AST, JIT, etc.)
– Expérience d’utilisation de Scilab.
– Maîtrise de l’anglais.

* Qualités humaines :

– Autonomie et sens de l’organisation.
– Rigueur, réactivité et sérieux.
– Esprit d’équipe.

Vous êtes à la recherche d’un travail motivant dans une équipe jeune et dynamique ? Venez nous rejoindre !

Lettre de motivation + CV à adresser à : job@scilab.org

Publication de mon manuscrit de thèse

Une bonne nouvelle pour cette rentrée de vacances, mon manuscrit de thèse est publié aux éditions EU, disponible notamment chez Amazon.fr dans une 10 aines de semaines.

Il est déjà en ligne (mais indisponible) sur amazon.fr

[ad#Google Adsense]

Son résumé :

Les travaux présentés dans cette thèse s’inscrivent dans un projet lié à la radiothérapie externe. L’objectif de ceux-ci est de mettre au point un moteur de calcul permettant une évaluation précise et concise d’un dépôt de dose lors d’une irradiation. Pour remplir cet objectif, nous avons construit un moteur de calcul reposant sur l’utilisation des réseaux de neurones. Dans un premier temps, nous avons développé un algorithme L’apprentissage pour les réseaux de neurones spécifiquement conçu pour la prise en charge des données liées à la radiothérapie externe. Dans un second temps, nos travaux ont consisté en la réalisation d’algorithmes permettant l’évaluation des doses.
La première partie a donc porté sur la mise au point de l’algorithme d’apprentissage des réseaux de neurones. Un des problèmes majeurs lors de la préparation de l’apprentissage concerne la détermination de la structure optimale permettant l’apprentissage le plus efficace possible. Pour construire un réseau proche de l’optimal, nous nous sommes basés sur une construction incrémentale du réseau. Ensuite, pour permettre une prise en charge des nombreux paramètres liés à notre domaine d’application, et du volume des données nécessaires à un apprentissage rigoureux, nous nous sommes attachés à paralléliser notre algorithme. Nous avons obtenu, à la fin de cette première phase de nos travaux, un algorithme d’apprentissage incrémental et parallèle pouvant être déployé de manière efficace sur une grappe de calcul non-fiable. Ce déploiement est possible grâce à l’ajout d’un mécanisme de tolérance aux pannes. La deuxième partie, quant à elle, a consisté en la mise au point d’algorithmes permettant l’évaluation des doses déposées lors d’une irradiation. Ces algorithmes utilisent les réseaux de neurones comme référence pour la valeur des doses ainsi que le principe de continuité de la dose en tout point du milieu. Ils ont été construits à partir d’une fine observation du comportement de la courbe de dépôt de dose à chaque changement de milieu.
En aboutissement, nous présentons des expérimentations montrant les performances de notre algorithme d’apprentissage, ainsi que de nos algorithmes d’évaluation de doses dans différentes configurations.

Bonnes vacances

Après une longue année pleine de …  et de  … Je prends 10 jours de pause loin du monde et de tout PC afin de voir autre chose et de recharger les batteries.

Je laisse derrière moi beaucoup de chose en suspend, mais de cette manière, la reprise se fera sur les chapeaux de roues.

Bon courage à ceux qui travaille encore

A bientot

Icann 2010

Je serai présent lors de la conférence ICANN 2010 qui aura lieu en Grèce.

Site de la conférence : http://delab.csd.auth.gr/icann2010/

J’y présenterai mes derniers travaux sur les réseaux de neurones portant sur l’équilibrage des différents temps d’apprentissage.

Abstract : The purpose of this work is to further study the relevance of accelerating the
Monte  Carlo calculations  for the  gamma rays  external  radiotherapy through
feed-forward  neural  networks.  We   have  previously  presented  a  parallel
incremental  algorithm that  builds  neural networks  of  reduced size,  while
providing  high  quality approximations  of  the  dose  deposit. Our  parallel
algorithm consists in a regular  decomposition of the initial learning dataset
(also   called   learning   domain)   in   as  much   subsets   as   available
processors. However,  the initial  learning set presents  heterogeneous signal
complexities and consequently, the learning  times of regular subsets are very
different.  This paper  presents  an efficient  learning domain  decomposition
which  balances the  signal complexities  across  the processors.  As will  be
shown,  the resulting irregular  decomposition allows  for important  gains in
learning time of the global network.

[ad#Google Adsense]

Bonjour tout le monde !

Je travaille actuellement dans l’équipe IRMA du département ENYSIS du femto-ST. Ce travail est dans la continuité des travaux de recherche que j’ai pu débuter en thèse. Il s’agit de mettre à profit mes dernières expériences de recherche afin de poursuivre la mise au point de Neurad.  Le détail de ce projet sont (ou seront) sur le site : http://www.neurad.fr .

[ad#Google Adsense]

J’ai travaillé à l’Université de Strasbourg dans le cadre du projet Houpic. Mon travail  a porté sur la partie parallélisation de ce projet. Dans un premier temps il s’agissait d’évaluer et d’améliorer les techniques d’équilibrage de charge du projet et ensuite de travailler au passage en 3D de ce simulateur. Ce projet est développé en Fortran et utilise l’environnement de parallélisation qu’est OpenMPI.

J’ai précédemment réalisé un premier post-doctorat sur l’étude des méthodes parallèles applicables aux logiciels de planification radio dans un but d’optimisation des performances d’une application existante.

Nous avons abordés au cours de ces travaux plusieurs technologies permettant l’utilisation de la parallélisation d’application sur une simple machine de travail.L’objectif est voir quels sont les méthodes permettant de profiter des dernières innovations technologiques, processeur multi-coeurs, démocratisation du GPUComputing ainsi que la généralisation des instructions SIMD, qui permettent d’obtenir le meilleur ratio entre les gains de performance et la difficulté de mise en oeuvre.

Nous avons principalement travaillés sur les technologies suivantes

– Développement : C++/STL
– Méthodes parallèles
— OpenMP
— Intel Threading Building Blocks
— Cuda
– Environnement : Visual C++
– Outil : Devpartner

Auparavant, j’ai réalisé un doctorat dans la thématique médicale de la radiothérapie externe. Nous avons travaillé à la mise au point d’un nouveau simulateur permettant de calculer le résultat d’une irradiation dans une situation médicale basé sur une utilisation des réseaux de neurones.Mes travaux ont dans un premier temps permis de mettre au point un nouvel algorithme d’apprentissage de réseau de neurones.

Cet algorithme a comme principal caractéristique de permettre une construction incrémentale du réseau de neurone et aussi, de pouvoir être déployé sur une grille de calcul.La seconde partie de mes travaux a permis la mise au point d’algorithme, qui, en utilisant les réseaux de neurones, permet de prendre en compte les différents effets de l’hétérogénéité du corps sur le propagation du faisceau énergétique;Les principales connaissances que j’ai pu acquérir d’un niveau informatique sont une expertise en programmation C++ en utilisant l’environnement de programmation distribué LAM/MPI. Mais d’un point de vue plus général, ce doctorat m’a permis de réaliser un réel travail dans des conditions pluridisciplinaires et ayant un but très motivant, la recherche médicale;

On peut déjà y trouver, un résumé de la recherche que j’ai ou que je suis entrain d’effectuer dans la section Recherche, ma bibliographie dans la section du même nom ainsi qu’un bref Cv dans la partie Contact & CV.

[ad#Google Adsense]