Search by property
This page provides a simple browsing interface for finding entities described by a property and a named value. Other available search interfaces include the page property search, and the ask query builder.
List of results
- Seminar/2020-03-18 + (In a partially observable system, diagnosi … In a partially observable system, diagnosis is the task of detecting certain events, for instance fault occurrences. In the presence of hostile observers, on the other hand, one is interested in rendering a system opaque, i.e. making it impossible to detect certain "secret" events. The talk will present some decidability and complexity results for these two problems</br>when the system is represented as a finite automaton or a Petri net. We then also consider the problem of active diagnosis, where the observer has some control over the system. In this context, we study problems such as the computational complexity of the synthesis problem, the memory required for the controller, and the delay between a fault occurrence and its detection by the diagnoser. The talk is based on joint work with B. Bérard, S. Haar, S. Haddad, T. Melliti, and S. Schmitz.ar, S. Haddad, T. Melliti, and S. Schmitz.)
- Seminar/2020-12-16 + (In a partially observable system, diagnosi … In a partially observable system, diagnosis is the task of detecting certain events, for instance fault occurrences. In the presence of hostile observers, on the other hand, one is interested in rendering a system opaque, i.e. making it impossible to detect certain "secret" events. The talk will present some decidability and complexity results for these two problems</br>when the system is represented as a finite automaton or a Petri net. We then also consider the problem of active diagnosis, where the observer has some control over the system. In this context, we study problems such as the computational complexity of the synthesis problem, the memory required for the controller, and the delay between a fault occurrence and its detection by the diagnoser. The talk is based on joint work with B. Bérard, S. Haar, S. Haddad, T. Melliti, and S. Schmitz.ar, S. Haddad, T. Melliti, and S. Schmitz.)
- Seminar/2009-02-25 + (Je présenterai sur la base d'une démo une … Je présenterai sur la base d'une démo une application des extensions</br>de langages, à savoir une extension Java pour l'optimisation. Cet</br>exemple montre la mise en oeuvre concrète dans Eclipse, les gains de</br>productivité et de qualité obtenus par rapport aux approches</br>classiques Java+DSL, la différence entre cette approche et un</br>générateur de code ou un préprocesseur. Il montre également une</br>utilisation originale d'un compilateur: la génération automatique</br>d'interface graphique.</br></br>Je parlerai aussi des futurs projets d'Ateji dans le domaine des</br>extensions de langage.dans le domaine des extensions de langage.)
- Seminar/2017-02-08 + (Vcsn est une plateforme consacrée aux auto … Vcsn est une plateforme consacrée aux automates et aux expressions</br>rationnelles. Parce qu'elle traite une large variété de natures</br>d'automates, elle place en son coeur le concept de "contexte", qui</br>type les automates, les expressions rationnelles, etc. La plateforme</br>repose sur une bibliothèque C++14 "templatée" par des contextes, au</br>dessus de laquelle la couche "dyn" qui, grâce à de l'effacement de</br>type et de la compilation à la volée, offre à l'utilisateur le confort</br>d'une bibliothèque traditionnelle avec la généricité et les</br>performances d'une bibliothèque templatée. Ces bibliothèques sont</br>ensuite exposées au travers d'outils en ligne de commande, mais aussi</br>Python et surtout IPython, qui permettent une exploration interactive</br>simple d'algorithmes.</br>La bibliothèque Vcsn repose sur un ensemble d'objets - automates,</br>étiquettes, poids, polynômes, expressions rationnelles et</br>développements rationnels - sur lesquels sont fournis plus de trois</br>cents algorithmes. Dans certains cas, Vcsn offre des fonctionalités</br>inégalées, et certains de ces algorithmes ont des performances</br>supérieures à celles des projets comparables.</br></br>Nous ferons une présentation de l'architecture générale de Vcsn, sous</br>la forme d'une démonstration guidée par les questions, ainsi qu'un</br>exposé des objectifs de Vcsn 3.0.si qu'un exposé des objectifs de Vcsn 3.0.)
- Seminar/2009-02-11 + (JoCaml est une extension d'Objective Caml … JoCaml est une extension d'Objective Caml pour la programmation</br>concurrente et distribuée, inspirée par le join-calcul. Nous avons</br>récemment publié une nouvelle version de JoCaml, dont la compatibilité</br>avec OCaml est meilleure que celle de la version initiale de F. Le</br>Fessant. La nouvelle version pourra facilement être mise à jour au</br>rythme d'OCaml et est binaire-compatible avec OCaml.</br></br>L'exposé s'attachera plus au langage JoCaml qu'au système JoCaml. Il</br>montrera comment, à partir d'un programme potentiellement</br>parallélisable écrit en OCaml (le ray tracer du concours ICFP 2001),</br>on peut facilement produire un programme distribué, dans le cas</br>abordé, très efficace. Ce sera l'occasion d'aborder la programmation</br>en JoCaml de la coordination de multiples agents coopérants, d'une</br>manière simple et concise dans l'esprit de la programmation</br>fonctionnelle.</br></br>JoCaml est disponible en http://jocaml.inria.fr/.est disponible en http://jocaml.inria.fr/.)
- Seminar/2016-05-18 + (Julia est un langage de programmation rela … Julia est un langage de programmation relativement jeune, développé au</br>MIT, et vendu comme langage dynamique à haute performance pour le</br>calcul scientifique numérique. L'un des co-auteurs du langage a une</br>connaissance de Scheme, et Julia s'inspire en effet largement de Scheme,</br>Common Lisp et Dylan, au point qu'il pourrait presque revendiquer un</br>lien de parenté avec Lisp. Tout ceci est déjà suffisant pour capter</br>notre attention, mais il y a plus: Julia semble également tirer parti de</br>techniques modernes d'optimisation pour les langages dynamiques, en</br>particulier grâce à son compilateur « Just-in-Time » basé sur LLVM.</br></br>Dans cette présentation, nous ferons un tour des aspects les plus</br>saillants du langage, avec une légère emphase sur ce qui en fait (ou</br>pas) un Lisp, quelques fois même (pas toujours) un meilleur Lisp que</br>Lisp lui-même.jours) un meilleur Lisp que Lisp lui-même.)
- Seminar/2017-02-22 + (L'Imagerie par Résonance Magnétique foncti … L'Imagerie par Résonance Magnétique fonctionnelle (IRMf) est une source</br>prometteuse de biomarqueurs permettant le diagnostic de troubles</br>neuropsychiatriques sur des sujets non coopératifs.</br>L'IRMf s'étudie en établissant un atlas de régions cérébrales représentatif</br>de l'organisation fonctionnelle, puis en étudiant la corrélation entre leurs</br>signaux.</br>Pour les extraire, nous proposons une approche d'apprentissage de</br>dictionnaire multi-sujets intégrant une pénalité imposant compacité spatiale et</br>parcimonie.</br>Nous sélectionnons les unités de base des réseaux fonctionnels</br>extraits à l'aide de techniques de segmentation inspirées du domaine de la</br>vision. Nous montons à l'échelle sur de gros jeux de données en utilisant</br>une stratégie d'optimisation stochastique.</br>A défaut de vérité terrain, nous proposons d'évaluer les modèles générés</br>à l'aide de métriques de stabilité et de fidélité.</br>Nous intégrons ensuite notre méthode de définition de régions dans un</br>pipeline entièrement automatisé, afin de réaliser une tâche de diagnostic des troubles</br>autistiques à travers différents sites d'acquisition et sur des</br>sous-ensembles d'homogénéité variable. Nous montrons que nos modèles ont une meilleure</br>performance, à la fois relativement aux métriques d'évaluation mais également sur nos</br>résultats expérimentaux.</br>Enfin, par une analyse post-hoc des résultats, nous montrons que la</br>définition de région est l'étape la plus importante du pipeline et que l'approche que</br>nous proposons obtient les meilleurs résultats. Nous fournissons également</br>des recommandations sur les méthodes les plus performantes pour les autres</br>étapes du pipeline.mantes pour les autres étapes du pipeline.)
- Seminar/2008-05-28 + (L'algorithmique constructive permet, parta … L'algorithmique constructive permet, partant d'une spécification écrite</br>sous forme d'une combinaison non-efficace de fonctions, de dériver, sous</br>certaines conditions, des algorithmes parallèles efficaces. Cette dérivation</br>s'appuie sur des théorèmes d'équivalence de programmes et est formellement</br>correcte. Elle aide le programmeur à concevoir des programmes parallèles.</br>Toutefois les bibliothèques de squelettes proposées ne sont pas certifiées.</br>Dans le cadre d'une collaboration avec l'université de Tokyo, nous proposons</br>de cibler des squelettes algorithmiques développés en BSML et certifiés à</br>l'aide de l'assistant de preuve Coq.iés à l'aide de l'assistant de preuve Coq.)
- Seminar/2012-06-20 + (L'arrivée des GPU (Graphics Processing Uni … L'arrivée des GPU (Graphics Processing Unit) a profondément changé la</br>manière de concevoir la notion de coprocesseur. A moins de 500€, il est</br>désormais possible d'avoir à sa disposition une puissance de calcul qui</br>n'était réservée jusqu'à un passé récent qu'aux grands centres de calcul. La</br>société Nvidia, en mettant au point l'environnement CUDA, a fourni à la</br>communauté des développeurs des moyens simples et efficaces pour rendre</br>cette puissance de calcul accessible au plus grand nombre. Depuis, sous</br>l'impulsion de la société Apple, le standard OpenCL est venu ouvrir la voie</br>d'une véritable parallélisation des applications sur l'ensemble des</br>ressources processeur offertes aux développeurs.</br></br>Cet exposé décrira les différentes technologies permettant la programmation</br>parallèle des GPU en mettant l'accent sur les contraintes actuelles et les</br>progrès à venir des futures architectures comme le processeur Kepler. Des</br>démonstrations ainsi que des exemples de code viendront compléter cet</br>exposé.es de code viendront compléter cet exposé.)
- Seminar/2010-11-10 + (L'idée d'une fonction est que la quantité … L'idée d'une fonction est que la quantité d'entrée détermine complètement la quantité de sortie. En informatique, la quantité est une structure de données qui peut être simple, booléenne, entière, ou complexe, image, graphe, arbre. Dans ce domaine, un champ de recherche est de construire un ensemble de fonctions élémentaires, puis par composition d'en créer des plus compliquées. Pour cette dernière, une solution pratique est le langage Caméléon conçu par V. Tariel et O. Cugnon de Sevricourt, qui est un langage de flux de données génériques dont la sortie est prévue en janvier 2011. Générique signifie que tous les types de données peuvent être intégrés dans le langage. Pour cette première, ce séminaire couvrira quelques définitions de fonctions primaires reliées à l'image, incorporées à la bibliothèque standard de Caméléon. A la manière de l'implémentation de la bibliothèque standard du C++, il y aura l'utilisation d'un côté de l'algorithme générique for\_each en typage statique et de l'autre des opérateurs et des itérateurs organisés en programmation orientée objet. L'itérateur localise l'action suivant différents paradigmes : ensemble fini et dénombrable, voisinage, convolution, zone d'influence. L'opérateur agit suivant différents paradigmes : arithmétique, croissance de régions.mes : arithmétique, croissance de régions.)
- Seminar/2012-03-14 + (L'industrie des effets spéciaux produit un … L'industrie des effets spéciaux produit une grande quantité d'images</br>qu'il faut traiter et afficher. Dans le cadre de ses développements</br>internes, Mikros Image a développé et mis en Open Source un player</br>d'images temps réel : duke. Dans cet exposé je décrirai quels sont</br>les enjeux techniques d'un tel logiciel (allocation mémoire, accès</br>disque, multiplicité des formats, affichage, traitement...) puis</br>j'expliquerai plus en détails les étapes de la conception d'un</br>composant essentiel permettant de lire et décoder le plus rapidement</br>possible les images à afficher. Ce composant ayant pour but d'être</br>intégré dans d'autres outils, il doit être réutilisable.'autres outils, il doit être réutilisable.)
- Seminar/2014-06-11 + (L'informatique graphique 3D, qu'il s'agiss … L'informatique graphique 3D, qu'il s'agisse de modélisation de formes,</br>d'analyse d'animation ou de synthèse d'images, exploite intensivement divers</br>types de structures spatiales telles que les hiérarchies volumes englobant,</br>les cages de déformation, les squelettes d'animation ou bien encore les</br>structures médianes.</br></br>Dans cette présentation, je reviendrai sur quelques uns de nos travaux</br>récents sur ce sujet. Je détaillerai notamment une nouvelle forme de</br>représentation d'objets 3D, les Sphere-Meshes, bien adaptés à</br>l'approximation extrême de forme et à l'auto-rigging pour la déformation</br>interaction. Je discuterai ensuite plusieurs projets liés à l'analyse de</br>formes, dont le système CageR pour l'ingénierie inverse de modèles issus</br>de performance capture. J'aborderai enfin le rendu temps-réel et le calcul</br>GPU dans le cadre l'éclairage global, qui s'appuie lui aussi sur la gestion</br>efficace d'une structure particulière : un arbre de radiance.</br></br>À chaque étape, je donnerai des éléments sur l'implémentation pratique de</br>ces approches et sur les nombreux défis qu'il reste à relever. les nombreux défis qu'il reste à relever.)
- Seminar/2010-03-31 + (Ce séminaire porte sur certains de mes tra … Ce séminaire porte sur certains de mes travaux en matière de</br>généricité et réutilisation en traitement d'images. Ces travaux sont</br>présentés à une échelle algorithmique, bas-niveau, et à une échelle</br>logicielle, plutôt haut-niveau. À l'échelle de l'algorithme, nous</br>présentons une technique permettant d'étendre la généricité des</br>algorithmes de traitement d'images par rapport à la région d'intérêt</br>traitée, en complément de la généricité par rapport aux données</br>(1D, 2D, 3D, scalaires, couleurs, multi-spectrales, séquences,</br>etc.) Cette méthode repose sur une adaptation du patron de</br>conception « Iterator » et sur le polymorphisme de compilation en</br>C++. Au niveau logiciel, l'objectif de la généricité et de</br>réutilisation est de faciliter le couplage des algorithmes « purs »</br>avec des fonctionnalités supplémentaires telles que la visualisation,</br>l'interface homme-machine, les entrées-sorties... Dans ce cas, je</br>présente les principes d'une architecture flexible et évolutive</br>implémentée en C++, combinant la notion de (programmation par) rôle et</br>la notion de (programmation par) composants réutilisables. Ces travaux</br>sont illustrés par des applications dans le domaine médical. des applications dans le domaine médical.)
- Seminar/2009-05-27 + (La Low-Level Virtual Machine (LLVM) est un … La Low-Level Virtual Machine (LLVM) est un ensemble de bibliothèques</br>et d'outils qui facilitent le développement et l'optimisation de</br>compilateurs, de générateurs de code et de machines virtuelles. Clang</br>et VMKit utilisent LLVM pour leur générateur de code à différents</br>niveaux: l'un pour la compilation statique de langages de la famille C</br>(C/C++/ObjectiveC), et l'autre pour la compilation dynamique</br>d'applications Java ou .Net.</br></br>Dans cet exposé, je présenterai ces trois projets, et rentrerai dans</br>les détails de VMKit, que j'ai développée dans le cadre de ma</br>thèse. Je finirai par montrer les exemples de recherche auxquels</br>nous nous adressons avec l'aide de VMKit, au sein de l'équipe de</br>recherche INRIA/Regal.sein de l'équipe de recherche INRIA/Regal.)
- Seminar/2016-01-27 + (La cryptographie joue un rôle clé dans la … La cryptographie joue un rôle clé dans la sécurité des infrastructures</br>de communication. Il est donc d'une importance capitale de construire</br>des système cryptographiques apportant de fortes garanties de</br>sécurité. C'est dans ce but que les constructions cryptographiques</br>sont étudiées scrupuleusement et viennent avec une preuve de sécurité</br>bornant la probabilité qu'un adversaire casse le crypto-système.</br></br>La majorité des preuves de sécurité sont réductionnistes: elles</br>construisent, à partir d'un adversaire PPT (Probabilistic</br>Polynomial-Time) violant avec une probabilité écrasante la sécurité de</br>la construction cryptographique, un second adversaire PPT cassant une</br>hypothèse de sécurité. Cette approche, connue sous le nom de</br>"sécurité formelle", permet sur le principe de fournir des preuves</br>mathématiques rigoureuses et détaillées de sécurité.</br></br>Les récentes constructions cryptographiques (et donc leur analyse de</br>sécurité) sont de plus en plus complexes, et il n'est pas rare</br>qu'elles incluent maintenant la preuve sécurité de l'implémentation du</br>crypto-système, ou de sa résistance aux canaux cachés. En conséquence,</br>les preuves de sécurité de ces algorithmes présentent un niveau de</br>complexité tel qu'un grand nombre d'entre elles sont fausses -</br>prouvant la sécurité d'une construction qui ne l'est pas.</br></br>Une solution prometteuse pour pallier ce problème est de développer</br>des outils formels d'aide à la construction et vérification de</br>crypto-systèmes. Bien que de nombreux outils existent pour la</br>cryptographie symbolique, peu d'effort a été fait pour la</br>cryptographie calculatoire - pourtant utilisée largement parmi les</br>cryptographes.</br></br>Après avoir introduit le domaine de la preuve formelle et de la</br>sécurité formelle, je présenterai EasyCrypt, un outil d'aide à la</br>preuve des constructions cryptographiques dans le modèle</br>calculatoire. EasyCrypt adopte une approche reposant sur la</br>formalisation de constructions cryptographiques à partir de code</br>concret, dans laquelle la sécurité et les hypothèses de sécurité sont</br>modélisées à partir de programmes probabilistes et où les adversaires</br>sont représentés par du code non spécifié. Une telle approche permet</br>l'utilisation d'outils existants pour la vérification de programmes.</br></br>EasyCrypt est développé conjointement entre l'IMDEA Software</br>Institute et Inria.entre l'IMDEA Software Institute et Inria.)
- Seminar/2017-11-08 + (La lecture des lignes de la main est une a … La lecture des lignes de la main est une activité ancestrale sans</br>fondement scientifique, même si certains motifs sont associés à des</br>malformations congénitales comme la trisomie 21. Cette conférence</br>décrira l’émergence d’une véritable science de la lecture des « lignes</br>du cerveau humain », qu’il s’agisse des plissements de son cortex ou</br>de la trajectoire des faisceaux de fibres qui constituent son câblage</br>à longue distance. Des formes inhabituelles de ces plissements ou de</br>ces faisceaux sont parfois la trace d’anomalies développementales</br>susceptibles d’augmenter le risque de développer certaines</br>pathologies.isque de développer certaines pathologies.)
- Seminar/2008-11-26 + (L'outil BTL++ (Benchmark Template Library … L'outil BTL++ (Benchmark Template Library in C++) développé à EDF R&D se</br>fonde sur la programmation générique et permet de mesurer les performances</br>de noyaux de calcul intensif. Il s'agit d'une bibliothèque générique dont</br>la conception vise à faciliter l'extensibilité par l'utilisateur.</br>Récemment, le lien entre les mesures de performance et la génération</br>automatique de bibliothèques optimales à été étudié pour le domaine de</br>l'algèbre linéaire dense. Quelques mesures de performance de noyaux de</br>calcul à base d'"Expression Template" permettront d'illustrer l'usage de</br>l'outil BTL++.mettront d'illustrer l'usage de l'outil BTL++.)
- Seminar/2009-12-02 + (Le processeur CELL BE développé par le con … Le processeur CELL BE développé par le consortium IBM, Sony et Toshiba</br>a eu un impact important dans le monde du calcul scientifique mais</br>aussi dans le monde du jeu. Il est le processeur de base de la</br>première machine à avoir atteint 1 Pflops et aussi celui de la Play</br>Station 3 de Sony. Pour arriver à ce niveau de performance, il intègre</br>9 coeurs hétérogènes interconnectés par un bus. Le coeur principal</br>(PPE) appartient à la famille des PowerPC. Les 8 autres coeurs (SPE)</br>sont spécialisés pour le calcul. Après une présentation détaillée de</br>l'architecture du processeur, nous développerons son mode de la</br>programmation : lancement de threads de calcul sur les SPE, échange de</br>données, programmation SIMD.E, échange de données, programmation SIMD.)
- Seminar/2011-03-16 + (La plupart des bibliothèques génériques en … La plupart des bibliothèques génériques en traitement d’images mettent l’accent sur la généricité, la mise en pipeline d’opérations basiques, mais peu mettent l’accent sur la sélection d’un sous-ensemble de pixels concerné par un algorithme. En pratique de nombreux algorithmes ne s’appliquent que sur un sous-ensemble simple (rectangle) ou complexe (forme contiguë quelconque) de pixels qui ne sont qu’une petite fraction d’une image. La création d’un masque précisant les pixels concernés ne semble pas une solution optimale (contrainte mémoire et calculatoire). Dans le cadre de développement d’algorithmes en traitement d’images et vidéos, le laboratoire Canon Research Centre France (localisé à Rennes) développe une bibliothèque générique de traitement d’images qui ajoute la notion de forme à toute manipulation basique ou complexe d’une image. Une « arithmétique » des formes permet une sélection précise de pixels et une exécution efficace d’algorithme complexe. Les motivations, la mise en œuvre de cette bibliothèque, les outils template utilisés seront présentés et illustrés d’exemples concrets.résentés et illustrés d’exemples concrets.)
- Seminar/2010-04-28 + (La plupart des frameworks de traitement d' … La plupart des frameworks de traitement d'images ne sont pas assez</br>génériques pour garantir une réutilisabilité effective des structures</br>de données et des algorithmes, tout en préservant performances et</br>facilité d'utilisation, et en restant proche de la théorie. Dans</br>cette présentation, nous proposons un cadre logiciel pour le</br>traitement d'images centré sur le paradigme de programmation</br>générique, cherchant à répondre tant aux besoins pratiques que</br>théoriques des scientifiques et des développeurs : la mise au point de</br>méthodes rapides et réutilisables, un niveau de généricité progressif,</br>la possibilité de traiter des ensembles de données volumineux, une</br>gestion de la mémoire automatique et efficace, la vérification</br>statique des types, l'orthogonalité des structures de données et des</br>algorithmes, etc. Cette approche permet aux utilisateurs de concevoir</br>et d'implémenter de nouvelles méthodes délivrées des contraintes</br>habituellement imposées pas les outils logiciels, de pratiquer des</br>expériences inter-domaines, de généraliser certains résultats et de</br>transformer facilement des prototypes en de vraies applications. des prototypes en de vraies applications.)
- Seminar/2016-12-07 + (La ville est un système complexe façonné p … La ville est un système complexe façonné par des dynamiques opérant à des</br>échelles différentes.</br>En tant que chercheur en sciences de l'information géographique travaillant</br>dans l'interdisciplinarité, je travaille en collaboration avec des</br>spécialistes du transport, des géographes, des urbanistes, des historiens,</br>des démographes, et des physiciens, afin de proposer de meilleurs outils,</br>modèles et données pour l'étude multi-échelle des dynamiques urbaines.</br></br>Je présente mes contributions dans un ordre correspondant à l'échelle</br>spatiale, de la plus large à la plus fine : la très grande échelle pour les</br>questions liées à la mobilité, la grande échelle pour celles liées à</br>l'urbanisme et la petite échelle pour les questions liées à l'évolution du</br>territoire sur le long terme.</br></br>Pour chaque partie, je vais m'attacher à proposer un cheminement commun :</br>tout d'abord la question des sources d'information, des connaissances</br>manipulées, leur représentation, leur stockage ; ensuite, la question de</br>l'analyse de ces données, de leur enrichissement, de leur croisement ;</br>enfin, l'interaction avec ces données, leur visualisation, leur</br>interprétation, leur validation, leur correction par des utilisateurs.ion, leur correction par des utilisateurs.)
- Seminar/2017-01-18 + (La visualisation scientifique est un domai … La visualisation scientifique est un domaine qui vise à aider les utilisateurs </br>à (i) représenter, (ii) explorer et (iii) analyser des données géométriques </br>acquises ou simulées, à des fins d'interprétation, de validation ou de </br>communication. Parmi les techniques existantes, les algorithmes inspirés par </br>la théorie de Morse ont démontré leur utilité dans ce contexte pour </br>l'extraction efficace et robuste de structures d'intérêts, et ce, à plusieurs </br>échelles d'importance.</br></br>Dans cette présentation, je donnerai un bref tutoriel sur l'analyse </br>topologique de champs scalaires, en introduisant quelques concepts clés comme </br>celui de graphe de Reeb, de complexe de Morse-Smale ou de diagramme de </br>persistance. Par ailleurs, j'illustrerai ces notions par des cas </br>d'applications concrets en astrophysique, chimie moléculaire ou </br>encore en combustion.</br>Ensuite, je discuterai certaines problématiques pratiques ayant récemment </br>émergé avec le développement des ressources de calcul haute-performance. Ces </br>problématiques induisent non seulement des jeux de données d'une taille </br>inédite, mais également des types nouveaux de données, comme les champs </br>scalaires multivariés ou incertains. Ces difficultés ne sont pas uniquement </br>intéressantes pour la communauté de recherche à cause de leur forte importance </br>pratique, mais aussi parce qu'elles nécessitent un redémarrage complet de </br>l'effort de recherche entrepris dans ce domaine ces vingt dernières années. En </br>particulier, je présenterai de nouvelles directions de recherche, étayées par </br>des résultats préliminaires récents concernant l'analyse topologique dans un </br>contexte de calcul haute-performance, ainsi que l'analyse topologique de </br>champs scalaires incertains ou bivariés. champs scalaires incertains ou bivariés.)
- Seminar/2013-04-24 + (Large distributed systems on the Internet … Large distributed systems on the Internet are subject to hostile</br>environmental conditions such as node failures, erratic communications, and</br>partitioning, and global problems such as hotspots, attacks, multicast</br>storms, chaotic behavior, and cascading failures. How can we build these</br>systems to function in predictable fashion in such situations as well as</br>being easy to understand and maintain? In our work on building</br>self-managing systems in the SELFMAN project, we have discovered a useful</br>design pattern for building complex systems, namely as a set of Weakly</br>Interacting Feedback Structures (WIFS). A feedback structure consists of a</br>graph of interacting feedback loops that together maintain one global system</br>property. We give examples of biological and computing systems that use</br>WIFS, such as the human respiratory system and the TCP family of network</br>protocols. We then show the usefulness of the design pattern by applying it</br>to the Scalaris key/value store from SELFMAN. Scalaris is based on a</br>structured peer-to-peer network with extensions for data replication and</br>transactions. Scalaris achieves high performance: from 4000 to 14000</br>read-modify-write transactions per second on a cluster with 1 to 15 nodes</br>each containing two dual-core Intel Xeon processors at 2.66 GHz. Scalaris</br>is a self-managing system that consists of five WIFS, for connectivity,</br>routing, load balancing, replication, and transactions. We conclude by</br>explaining why WIFS are an important design pattern for building complex</br>systems and we outline how to extend the WIFS approach to allow proving</br>global properties of these systems.roving global properties of these systems.)
- Seminar/2015-05-13 + (Le C++ est très impopulaire dans la commun … Le C++ est très impopulaire dans la communauté des développeurs web et ce</br>n'est pas sans raison. Le langage n'offre aucune introspection, ce qui</br>complique la sérialisation automatique de messages. De plus, l'injection de</br>dépendances, un design pattern très utile dans les frameworks web issus</br>d'autres langages, est complexe voire quasi impossible à implémenter en</br>C++98.</br></br>Nous verrons comment l'introspection statique et l'injection de dépendance</br>ont été implémentés en C++14 grâce à un concept innovant: les symboles de la</br>bibliothèque IOD (1). Nous verrons ensuite comment Silicon (2), un jeune</br>framework web, tire parti de ces abstractions et aide les développeurs à</br>construire des APIs web aussi simplement qu'ils le feraient en Go ou</br>JavaScript.nt qu'ils le feraient en Go ou JavaScript.)
- Seminar/2014-02-05 + (Le Web a subi en quelques années une évolu … Le Web a subi en quelques années une évolution radicale, passant d'une</br>plateforme de données à une plateforme d'applications. Mais la plupart des</br>outils de programmation n'ont pas été conçus pour cette nouvelle vision du</br>Web.</br></br>Le projet Ocsigen a pour but d'inventer de nouvelles techniques de</br>programmation adaptées aux besoins des sites Web modernes et des</br>applications Web distribuées. Il permet de programmer les parties client et</br>serveur dans le même langage, et même, comme une seule et même</br>application. La puissance expressive du langage OCaml permet d'introduire</br>une abstraction des technologies sous-jacentes dans le but de simplifier la</br>programmation d'interactions Web complexes. Le système de types très avancé</br>du langage permet d'améliorer la fiabilité des programmes et le respect des</br>standards. Cela permet aussi de réduire beaucoup le temps de</br>développement.</br></br>Cet exposé donnera un aperçu global du projet et montrera comment écrire un</br>exemple d'application simple.nt écrire un exemple d'application simple.)
- Seminar/2014-03-12 + (Le Web a subi en quelques années une évolu … Le Web a subi en quelques années une évolution radicale, passant d'une</br>plateforme de données à une plateforme d'applications. Mais la plupart des</br>outils de programmation n'ont pas été conçus pour cette nouvelle vision du</br>Web.</br></br>Le projet Ocsigen a pour but d'inventer de nouvelles techniques de</br>programmation adaptées aux besoins des sites Web modernes et des</br>applications Web distribuées. Il permet de programmer les parties client et</br>serveur dans le même langage, et même, comme une seule et même</br>application. La puissance expressive du langage OCaml permet d'introduire</br>une abstraction des technologies sous-jacentes dans le but de simplifier la</br>programmation d'interactions Web complexes. Le système de types très avancé</br>du langage permet d'améliorer la fiabilité des programmes et le respect des</br>standards. Cela permet aussi de réduire beaucoup le temps de</br>développement.</br></br>Cet exposé donnera un aperçu global du projet et montrera comment écrire un</br>exemple d'application simple.nt écrire un exemple d'application simple.)
- Seminar/2016-02-17 + (Le cloud computing donne accès à des resso … Le cloud computing donne accès à des ressources de stockage et de</br>calcul quasiment illimitées, pour un coût toujours plus bas. Devant</br>l’explosion de la quantité des données générées et le besoin de réagir</br>toujours plus vite, il n’a jamais été aussi facile d’accéder aux</br>technologies de traitement massif.</br></br>Nous illustrerons de nombreux cas d’usage du cloud : Hadoop,</br>dataware-house de plusieurs Po, traitement temps réel de millions</br>d’événements par seconde, IOT, Machine Learning…</br></br>En particulier, l’utilisation d’algorithmes massivement parallèles</br>prend toute son importance et permet de tirer pleinement parti de</br>l’élasticité du cloud, par exemple: Monte-Carlo dans le domaine</br>financier, modélisation de protéines en 3D pour du screening, analyse</br>génomique, analyse de logs…ening, analyse génomique, analyse de logs…)
- Seminar/2013-05-22 + (Le compilateur GCC est extensible via des … Le compilateur GCC est extensible via des greffons (plugins) depuis</br>plusieurs années. Mais c'est un logiciel libre complexe (de 10MLOC) et</br>encore en évolution, dont on décrira grossièrement l'architecture. Écrire</br>des greffons en C est fastidieux.</br></br>Le language d'extension MELT (domain specific language) permet d'étendre</br>moins péniblement le compilateur GCC. Il offre une syntaxe régulière et</br>simple, inspirée de LISP. MELT est traduit en du code C (ou C++) adapté aux</br>internes de GCC et son implémentation (en logiciel libre) est</br>auto-amorcée. Il offre des traits permettant des styles de programmation de</br>haut niveau (styles fonctionnel, objet, réflexif).</br></br></br>On décrira un peu l'implémentation de MELT, sa syntaxe et ses traits</br>caractéristiques, et les exemples d'extensions.téristiques, et les exemples d'extensions.)
- Seminar/2008-11-05 + (Dans un intergiciel schizophrène, une repr … Dans un intergiciel schizophrène, une représentation intermédiaire</br>des interactions entre composants applicatifs est construite et</br>manipulée. Cette représentation est neutre vis-à-vis du choix d'une</br>personnalité application (interface entre les composants et</br>l'intergiciel) et d'une personnalité protocolaire (interface entre</br>intergiciels distants). Elle rend possible le découplage entre ces</br>deux aspects.</br></br>Cette représentation doit préserver la structure des données associées</br>aux interactions. Cependant, sa construction in extenso s'avère coûteuse</br>dans le cas de données composites complexes. Cette conversion peut être</br>économisée en remplaçant la réplication complète de la structure par la</br>définition d'un emballage « fantôme » autour de celle-ci (et de chacun</br>de ses composants) : il suffit que cet emballage fournisse les accesseurs</br>permettant de parcourir la structure et de construire un message la</br>représentant.</br></br>Après avoir présenté un exemple concret de représentation neutre</br>des données structurées, nous montrons comment cette optimisation</br>peut être mise en oeuvre pour réaliser de manière efficace la</br>fonction de représentation dans un intergiciel schirophrène. Nous</br>concluons cette discussion par une évaluation du gain de performance</br>ainsi obtenu.ation du gain de performance ainsi obtenu.)
- Seminar/2012-07-04 + ((Morphological Filtering in Shape Spaces: … (Morphological Filtering in Shape Spaces: Applications using Tree-Based Image</br>Representations)</br></br>Connected operators are filtering tools that act by merging elementary</br>regions of an image. A popular strategy is based on tree-based image</br>representations: for example, one can compute a shape-based attribute on</br>each node of the tree and keep only the nodes for which the attribute is</br>sufficiently strong. This operation can be seen as a thresholding of the</br>tree, seen as a graph whose nodes are weighted by the attribute. Rather than</br>being satisfied with a mere thresholding, we propose to expand on this idea,</br>and to apply connected filters on this latest graph. Consequently, the</br>filtering is done not in the image space, but in the space of shapes built</br>from the image. Such a processing is a generalization of the existing</br>tree-based connected operators. Indeed, the framework includes classical</br>existing connected operators by attributes. It also allows us to propose a</br>class of novel connected operators from the leveling family, based on shape</br>attributes. Finally, we also propose a novel class of self-dual connected</br>operators that we call morphological shapings.ators that we call morphological shapings.)
- Seminar/2009-12-02 + (Le processeur CELL BE développé par le con … Le processeur CELL BE développé par le consortium IBM, Sony et Toshiba</br>a eu un impact important dans le monde du calcul scientifique mais</br>aussi dans le monde du jeu. Il est le processeur de base de la</br>première machine à avoir atteint 1 Pflops et aussi celui de la Play</br>Station 3 de Sony. Pour arriver à ce niveau de performance, il intègre</br>9 coeurs hétérogènes interconnectés par un bus. Le coeur principal</br>(PPE) appartient à la famille des PowerPC. Les 8 autres coeurs (SPE)</br>sont spécialisés pour le calcul. Après une présentation détaillée de</br>l'architecture du processeur, nous développerons son mode de la</br>programmation : lancement de threads de calcul sur les SPE, échange de</br>données, programmation SIMD.E, échange de données, programmation SIMD.)
- Seminar/2010-06-02 + (Le traitement d'images est par nature un p … Le traitement d'images est par nature un procédé discret, au cours</br>duquel un signal continu est décomposé en un ensemble de pixels, ou de</br>voxels pour des images tri-dimensionnelles. Au niveau géométrique, cette</br>nature discrète pose peu de problèmes, car la plupart des opérations</br>géométriques sont indépendantes de la grille sous-jacente ; au niveau</br>topologique, le problème est tout autre. Deux des notions fondamentales</br>de la topologie, le voisinage et la connexité, sont radicalement</br>différentes entre un espace continu et un espace discret : il est entre</br>autres impossible de subdiviser un voisinage discret de façon infinie</br>comme c'est le cas dans un espace euclidien.</br></br>Bien que certaines bibliothèques de traitement d'images contiennent des</br>algorithmes topologiques, notamment de squelettisation, le type de</br>voisinage utilisé par ces algorithmes est généralement fixé par le code,</br>ce qui empêche une adaptation facile à un autre type de connexité ou à</br>un espace de dimension différente.</br></br>Ce séminaire présente une méthode générique pour intégrer les notions</br>discrètes de voisinage et de connexité à une bibliothèque de traitement</br>d'images programmée en C++. Je montrerai également comment obtenir de</br>façon simple un algorithme de squelettisation homotopique en utilisant</br>ces notions.tion homotopique en utilisant ces notions.)
- Seminar/2013-10-09 + (Le réductionnisme est une technique réalis … Le réductionnisme est une technique réaliste de conception et implantation</br>de vrais langages de programmation, et conduit à des solutions plus faciles</br>à étendre, expérimenter et analyser. Je vais décrire la conception et</br>l'implantation de GNU epsilon, un langage de programmation extensible, basé</br>sur un langage-noyau minimaliste impératif du premier ordre, équipé de</br>mécanismes d'abstraction forts et avec des possibilités de réflexion et</br>auto-modification. Le langage peut être étendu à des niveaux très hauts: en</br>utilisant des macros à la Lisp et des transformations de code à code</br>réécrivant les expressions étendues en expressions-noyau, on arrive à</br>ajouter les clôtures et les continuations de première classe au dessus du</br>noyau.</br></br>Les programmes qui ne s'auto-modifient pas peuvent être analysés</br>formellement, grâce à la simplicité de la sémantique. Je vais parler</br>rapidement d'une analyse statique dont j'ai prouvé une propriété de</br>«soundness» par rapport à la sémantique dynamique. Le langage se prête à une</br>implantation efficace: je vais montrer un prototype de compilateur natif</br>particulièrement simple.compilateur natif particulièrement simple.)
- Seminar/2015-10-14 + (Le traitement géométrique 3D temps-réel a … Le traitement géométrique 3D temps-réel a progressivement atteint un niveau</br>de performance rendant un grand nombre de primitives inspirées du traitement</br>du signal compatible avec les applications interactives. Cela a souvent été</br>rendu possible grâce à la co-conception des opérateurs, des structures de</br>données et du support matériel d’exécution. Parmi les principales classes</br>d'opérateurs géométriques, le filtrage et le sur-échantillonnage (par</br>raffinement) ont été exprimés sous des contraintes temps-réel avec</br>succès. Cependant, l'opérateur de sous-échantillonnage - la simplification</br>adaptative - demeure un cas problématique pour les données non</br>triviales.</br></br>Dans ce contexte, nous proposons un nouvel algorithme de simplification</br>géométrique rapide basé sur un nouveau concept : les intégrales de</br>Morton. En sommant les quadriques d'erreurs associées aux échantillons</br>géométriques selon leur ordre de Morton, notre approche permet d'extraire de</br>manière concurrente les nœuds correspondants à une coupe adaptative dans la</br>hiérarchie implicite ainsi définie, et d'optimiser la position des sommets</br>du maillage simplifié en parallèle. Cette méthode est inspirée des images</br>intégrales et exploite les avancées récentes en construction et parcours</br>haute performance de hiérarchies spatiales.</br></br>L'implémentation GPU de notre approche peut simplifier des maillages</br>composés de plusieurs millions d'éléments à un taux de rafraîchissement</br>interactif, tout en fournissant une géométrie simplifiée de qualité</br>supérieure aux méthodes uniformes et en préservant notamment les structures</br>géométriques saillantes. Notre algorithme est compatible avec les maillages</br>indexés, les soupes polygonales et les nuages de points, et peut prendre en</br>compte des attributs de surfaces (normal ou couleur par exemple) et des</br>métriques d'erreurs alternatives.) et des métriques d'erreurs alternatives.)
- Seminar/2010-04-28 + (La plupart des frameworks de traitement d' … La plupart des frameworks de traitement d'images ne sont pas assez</br>génériques pour garantir une réutilisabilité effective des structures</br>de données et des algorithmes, tout en préservant performances et</br>facilité d'utilisation, et en restant proche de la théorie. Dans</br>cette présentation, nous proposons un cadre logiciel pour le</br>traitement d'images centré sur le paradigme de programmation</br>générique, cherchant à répondre tant aux besoins pratiques que</br>théoriques des scientifiques et des développeurs : la mise au point de</br>méthodes rapides et réutilisables, un niveau de généricité progressif,</br>la possibilité de traiter des ensembles de données volumineux, une</br>gestion de la mémoire automatique et efficace, la vérification</br>statique des types, l'orthogonalité des structures de données et des</br>algorithmes, etc. Cette approche permet aux utilisateurs de concevoir</br>et d'implémenter de nouvelles méthodes délivrées des contraintes</br>habituellement imposées pas les outils logiciels, de pratiquer des</br>expériences inter-domaines, de généraliser certains résultats et de</br>transformer facilement des prototypes en de vraies applications. des prototypes en de vraies applications.)
- Seminar/2017-03-08 + (Les algorithmes itératifs utilisés lors de … Les algorithmes itératifs utilisés lors de la résolution de problèmes inverses portant sur des gros volumes de données requièrent</br>une accélération significative pour être utilisés en pratique. Sur des exemples d'applications en tomographie X et</br>en déconvolution de signaux 1D (enregistrement sur plusieurs années de données spectrales de Mars) ou 2D (flux vidéo d'une webcam),</br>nous présenterons notre recherche de solutions permettant la parallélisation des calculs la plus efficace possible</br>sur les processeurs de type "many cores" que sont les GPUs. Nous exposerons ainsi la triple adéquation entre</br>l'architecture des processeurs GPUs (CUDA de Nvidia), la (re)formulation des algorithmes et la (re)structuration</br>des données que nous avons mises en oeuvre sur différents types d'opérateurs utilisés dans les algorithmes</br>itératifs (projecteur, rétroprojecteur, convolution nD). Par ailleurs, nous montrerons l'attention particulière</br>qui doit être apportée au goulot d'étranglement lié au temps de transfert entre le PC et les cartes GPUs.</br>Enfin, nous présenterons le découpage des données que nous avons effectué afin de bénéficier pleinement</br>d'un serveur multi-GPUs et apporterons quelques éléments de réponse sur l'utilisation des GPUs couplés à Matlab</br>et des bibliothèques déjà existantes (CUBLAS, NVPP...).thèques déjà existantes (CUBLAS, NVPP...).)
- Seminar/2014-02-12 + (Les automates acycliques sont utilisés dan … Les automates acycliques sont utilisés dans tous les logiciels de traitement</br>de la langue naturelle essentiellement pour la représentation des lexiques,</br>des dictionnaires et des interprétations morpho-syntaxiques des textes.</br></br>Nous présenterons des résultats sur les stratégies de construction, de</br>manipulation et de stockage de ces automates. En particulier un algorithme</br>de construction dynamique.r un algorithme de construction dynamique.)
- Seminar/2008-09-14 + (Les besoins croissants en puissance de cal … Les besoins croissants en puissance de calcul exprimés par de nombreux</br>domaines scientifiques exercent une pression très forte sur les</br>architectures émergentes, les rendant toujours plus performantes mais</br>toujours plus complexes à maîtriser. Dans ce cadre, le développement</br>d'outils tirant parti des spécificités de ces architectures (quadri-</br>et bientôt octo-coeurs, processeurs Cell ou GPU par exemple) devient</br>une gageure car allier expressivité et efficacité est une tâche</br>ardue. Les travaux exposés ici montrent comment l'utilisation de la</br>programmation générative, et en particulier de la méta-programmation</br>template, permet de répondre au problème de performances et</br>d'abstractions.</br></br>Nous montrerons comment ces techniques ont permis de développer Quaff,</br>un outil de placement automatique d'applications data-flow sur des</br>cibles variées comme les clusters, les multi-coeurs ou le processeur</br>Cell.s, les multi-coeurs ou le processeur Cell.)
- Seminar/2016-03-23 + (Les extensions multimédia (SSE, AVX, NEON) … Les extensions multimédia (SSE, AVX, NEON) sont une composante majeure des</br>processeurs d'aujourd'hui qui restent plus que sous-utilisées. Les</br>principales raisons de cette sous-utilisation sont la relative obscurité des</br>jeux d'instructions, leur variété entre et même au sein des différentes</br>familles de puces et surtout, une méconnaissance de la disponibilité des ces</br>unités de calculs.</br></br>Boost.SIMD est une bibliothèque permettant d'exploiter ces extensions de</br>manière efficace et expressive, facilitant l'utilisation, la diffusion et la</br>portabilité de tels codes, ouvrant la porte à des accélérations de l'ordre</br>de 4 à 10 sur un simple cœur.</br></br>Cet exposé présentera les fonctionnalités de Boost.SIMD, les challenges</br>posés par son implémentation, comment le C++ moderne répond à plusieurs de</br>ces problèmes et les éléments bloquants qu'il reste à résoudre.éléments bloquants qu'il reste à résoudre.)
- Seminar/2017-12-13 + (Les réseaux de neurones convolutifs connai … Les réseaux de neurones convolutifs connaissent depuis quelques années</br>un franc succès dans de nombreuses applications de reconnaissance</br>visuelle. Nous reviendrons sur les premiers travaux en la matière en</br>segmentation sémantique (étiquetage de chaque pixel des images par une</br>catégorie sémantique). Nous explorerons ensuite une piste</br>d'amélioration visant à réduire la quantité de données labelisées</br>utilisée, à base d'entraînement de réseaux adversaires.</br></br>Dans un second temps, nous nous intéresserons au problème de la</br>prédiction d'images suivantes dans les vidéos: s'il nous parait</br>simple d'anticiper ce qu'il va se passer dans un futur très proche,</br>c'est un problème difficile à modéliser mathématiquement étant données</br>les multiples sources d'incertitude. Nous présenterons nos travaux de</br>prédiction dans le domaine des images naturelles, puis dans l'espace</br>plus haut niveau des segmentations sémantiques, nous permettant de</br>prédire plus loin dans le futur.ettant de prédire plus loin dans le futur.)
- Seminar/2009-04-22 + (SmartEiffel, également connu sous le nom d … SmartEiffel, également connu sous le nom de GNU Eiffel, est à la fois</br>un langage et un ensemble d'outils de compilations, de documentation et</br>de validation.</br></br>Le langage SmartEiffel vise à favoriser la mise en pratique des</br>principales exigences liées au développement d'un gros logiciel par</br>une grande équipe. En plus d'exigences en terme de qualité, de</br>sécurité et de documentation, la définition de SmartEiffel est</br>également soucieuse de l'efficacité du programme à l'exécution. Ainsi,</br>le modèle des objets qui est à la base du langage intègre également</br>les types les plus élémentaires sans surcoût potentiel à l'exécution.</br>Pour sa part, le mécanisme de programmation par contrats qui est</br>essentiel en matière de documentation est également un bon moyen de</br>rechercher les meilleures performances à l'exécution.</br></br>Durant cet exposé, la visite guidée du langage présentera le modèle</br>d'objets, la programmation par contrats, la double forme d'héritage</br>multiple ainsi que le mécanisme des agents.ultiple ainsi que le mécanisme des agents.)
- Seminar/2015-02-18 + (L’accroissement exponentiel de la complexi … L’accroissement exponentiel de la complexité technique des logiciels métiers</br>a du mal à être compensée par les progrès du génie logiciel : les coûts et</br>les délais augmentent jusqu’à ce que l’intérêt de l’informatique soit</br>fondamentalement remis en cause dans certains cas, arguments rationnels et</br>légitimes à l’appui. Cette anomalie épistémologique s’explique pourtant par</br>des erreurs technologiques récurrentes dans l’histoire, des pièges et des</br>culs-de-sac ralentissant le progrès scientifique. Parmi ces freins : la</br>dette technique, l’utilisation de trop de technologies, trop élitistes pour</br>être correctement utilisées en général, et le niveau maximal de</br>compréhension et d’analyse de chaque humain, qui est fortement variable mais</br>toujours plafonné.</br></br>La technologie Faveod sert à éviter ces freins par la formalisation</br>structurée et factorisée des besoins métiers, applicatifs et techniques dans</br>un modèle générique et exhaustif. L’analyse continue des évolutions</br>collaboratives de ce modèle permet la production totalement automatisée et</br>instantanée de sa traduction technique : l’application cible en cohérence et</br>en qualité. La gestion de la complexité des facteurs influant sur la qualité</br>logicielle étant déléguée à la technologie, il devient possible d’augmenter</br>son niveau par accumulation linéaire sans dépendre des facteurs humains</br>limitants.s dépendre des facteurs humains limitants.)
- Seminar/2016-11-23 + (L’analyse du mouvement, ou l’analyse d’une … L’analyse du mouvement, ou l’analyse d’une séquence d’images, est</br>l’extension naturelle de l’analyse d’images à l’analyse de séries temporelles d’images.</br>De nombreuses méthodes d’analyse de mouvement ont été développées dans le</br>contexe de vision par ordinateur, comprenant le suivi de caractéristiques, le flot</br>optique, l’analyse de points-clefs, le recalage d’image, etc.</br></br>Dans cet exposé, nous présenterons les outils que nous avons</br>développés pour l'analyse de mouvement adaptés à l’analyse de séquences</br>biomédicales, et en particulier pour les cellules ciliées. Ces cellules,</br>couvertes de cils qui battent, sont présentes chez l’homme dans les zones</br>nécessitant des mouvements de fluide. Dans les poumons et les voies</br>respiratoires supérieures par exemple, les cils sont responsables de l’épuration</br>muco-ciliaire, qui permet d’évacuer des poumons la poussière et autres</br>impuretés inhalées. Les altérations de l’épuration muco-ciliaire peuvent</br>être liées à des maladies génétiques ou acquises. Ces maladies, touchant les cils,</br>sont potentiellement handicapantes. Elles peuvent cependant être</br>caractérisées par l’analyse du mouvement des cils sous un microscope, avec</br>une résolution temporelle importante. Nous avons développé plusieurs outils</br>et techniques pour réaliser ces analyses de manière automatique et avec</br>une haute précision.e automatique et avec une haute précision.)
- Seminar/2017-06-14 + (MAQAO (Modular Assembly Quality Analyzer a … MAQAO (Modular Assembly Quality Analyzer and Optimizer) est une suite d'outils d'analyse et d'optimisation des performances</br>à destination d'applications binaires. Le but principal de MAQAO est d'analyser des codes binaires puis de proposer aux</br>développeurs d'applications des rapports synthétiques les aidant à comprendre et optimiser les performances de leur application.</br>MAQAO combine des analyses statiques (évaluation de la qualité du code) et dynamiques (profiling) basées sur la capacité</br>à reconstruire des structures aussi bien bas niveau (basic blocks, instructions, etc.) que haut niveau (fonctions et boucles). </br>Un autre aspect important de MAQAO est son extensibilité. En effet les utilisateurs peuvent écrire leur propre plugin</br>grâce à un langage de script simple intégré (Lua).un langage de script simple intégré (Lua).)
- Seminar/2009-10-21 + (Malgré la grande variété des types de donn … Malgré la grande variété des types de données que l'on rencontre dans</br>le domaine du traitement d'images (1D,2D,3D, scalaires, couleurs,</br>multi-spectrales, séquences, etc...), nous sommes souvent amenés à</br>appliquer des algorithmes très classiques, ou des variations de ces</br>algorithmes, pour le pré-traitement, l'analyse ou la visualisation de</br>ces données images. Par conséquent, les logiciels et les bibliothèques</br>que nous utilisons dans notre recherche quotidienne, devraient</br>également être génériques, afin de s'adapter le mieux possible aux</br>données à traiter. Dans ce séminaire, je présenterai quelques outils</br>développés dans cette optique (au laboratoire GREYC, équipe IMAGE),</br>qui possèdent différents niveaux d'utilisations. Je commencerai tout</br>d'abord par présenter CImg, une bibliothèque C++ "template" (donc</br>générique par nature), qui a pour but de faciliter l'implémentation</br>d'algorithmes de traitements d'images personnalisés. Puis,</br>j'introduirais G'MIC, un langage de script reprenant la plupart des</br>éléments de CImg, qui est dédié au traitement et à l'analyse d'images</br>"de tous les jours". J'essaierai de montrer comment ces différents</br>outils indépendants sont organisés et comment ils cherchent à aider le</br>chercheur ou le programmeur en traitement d'images, autant d'un point</br>de vue programmation pure que d'un point de vue plus haut niveau.re que d'un point de vue plus haut niveau.)
- Seminar/2015-03-11 + (Motivé par de nombreuses applications, all … Motivé par de nombreuses applications, allant de la cryptographie au</br>calcul mathématique, le calcul formel s'est fortement développé ces</br>dernières années tant au niveau des algorithmes que des implantations</br>efficaces. L'efficacité des calculs repose sur celle de bibliothèques</br>dédiées, pour certaines opérations de base, comme l'algèbre linéaire</br>dans un corps fini ou avec des entiers multi-précision. Devant la</br>multiplicité des domaines de calcul et des variantes algorithmiques</br>disponibles, la conception de ces bibliothèques doit concilier une</br>forte généricité avec l'efficacité.</br></br>Nous allons présenter comment cette problématique est abordée dans les</br>bibliothèques d'algèbre linéaire exacte FFLAS-FFPACK (2) et LinBox</br>(3). Après une présentation générale de ces projets, nous focaliserons</br>la présentation sur trois aspects représentatifs:</br></br>- l'exploitation des diverses arithmétiques de base (entière,</br>flottante, booléenne), de routines numériques optimisées et leur</br>intégration au sein d'algorithmes génériques haut niveau ;</br></br>- l'approche boîte-noire de la bibliothèque LinBox, proposant un</br>modèle algorithmique spécifique, particulièrement performant pour les</br>matrices creuses ou structurées ;</br></br>- La parallélisation de code dans FFLAS-FFPACK, basée sur un langage</br>spécifique (DSL) permettant d'utiliser de façon interchangeable</br>différents langages et moteurs exécutifs, et de tirer parti du</br>parallélisme de tâche avec dépendance par flot de données.tâche avec dépendance par flot de données.)
- Seminar/2008-04-30 + (Mouldable programming is about looking at … Mouldable programming is about looking at programs as mouldable</br>fragments of code, not as the static, brittle syntax software often</br>turns out to be. Some simple examples follow. The notation for calling</br>a method "push" which adds an element "E" to a stack "S" can be OO or</br>static method style, it can modify "S" or return the new stack</br>etc. Can we simplify usage to just one form, and mould it to the</br>actual call? A function which breaks down for some input can signal</br>this using return flags, special return values, or exceptions, to name</br>some common ways. Can we abstract over this, and mould to the relevant</br>error handling technique? Often we need to do run-time checking of</br>arguments, e.g., array indexing bounds, forcing us to introduce lots</br>of code to deal with the unwanted cases. Can we use mouldable ideas to</br>simplify the code? In the presentation, we will elaborate on such</br>examples, discussing how we can free us from awkward syntactic</br>constraints.ree us from awkward syntactic constraints.)
- Seminar/2019-04-10 + (Neural networks have been producing impres … Neural networks have been producing impressive results in computer vision these last years, in image classification or</br>segmentation in particular. To be transferred to remote sensing, this tool needs adaptation to its specifics: large</br>images, many small objects per image, keeping high-resolution output, unreliable ground truth (usually</br>mis-registered). We will review the work done in our group for remote sensing semantic segmentation, explaining the</br>evolution of our neural net architecture design to face these challenges, and finally training a network to register</br>binary cadaster maps to RGB images while detecting new buildings if any, in a multi-scale approach. We will show in</br>particular that it is possible to train on noisy datasets, and to make predictions at an accuracy much better than the</br>variance of the original noise. To explain this phenomenon, we build theoretical tools to express input similarity from</br>the neural network point of view, and use them to quantify data redundancy and associated expected denoising effects.</br>If time permits, we might also present work on hurricane track forecast from reanalysis data (2-3D coverage of the</br>Earth's surface with temperature/pressure/etc. fields) using deep learning.pressure/etc. fields) using deep learning.)