Semantic search
Mercredi 30 avril 2008, 14h-17h, Amphi 4
Mouldable Programming
- Documents
- mp.pdf
Magne Haveraaen, Institutt for Informatikk, Universitetet i Bergen, Norway
Mouldable programming is about looking at programs as mouldable
fragments of code, not as the static, brittle syntax software often
turns out to be. Some simple examples follow. The notation for calling
a method "push" which adds an element "E" to a stack "S" can be OO or
static method style, it can modify "S" or return the new stack
etc. Can we simplify usage to just one form, and mould it to the
actual call? A function which breaks down for some input can signal
this using return flags, special return values, or exceptions, to name
some common ways. Can we abstract over this, and mould to the relevant
error handling technique? Often we need to do run-time checking of
arguments, e.g., array indexing bounds, forcing us to introduce lots
of code to deal with the unwanted cases. Can we use mouldable ideas to
simplify the code? In the presentation, we will elaborate on such
examples, discussing how we can free us from awkward syntactic
constraints.
Magne Haveraaen is a professor of computer science with an interest
for programming technology: the theory and pragmatics of writing
code. He investigates this in the context of the Sophus software
library, a coordinate-free numerics library written in C++.
http://www.ii.uib.no/saga/
High-Level Abstractions and Optimization
Anya Helene Bagge, Institutt for Informatikk, Universitetet i Bergen, Norway
Writing code in an abstract, high-level style can cut development time
and make code more maintainable and easier to reason about - but at
the cost of lower run-time performance. For performance-critical
applications, such as in numerical programming, this can render modern
abstraction techniques infeasible. Fortunately, code that is easy for
humans to reason about is also easier to reason about
automatically. We're studying different abstraction mechanisms and
generative programming techniques, as well as optimization techniques
to produce efficient code for them. As an example, basic element-wise
operations on arrays may be expressed in terms of high-level
operations, which may be automatically combined in order to increase
performance. I will present some of the things we've been working on
so far, and some of the ideas we have for the future.
Anya Helene Bagge is a research fellow at the University of Bergen,
Norway. Her research interests include programming language design,
program transformation, parallel computer architectures and program
optimization.
http://www.ii.uib.no/~anya/
Mercredi 28 mai 2008, 14h-17h, Amphi 4
Le langage BSML
- Documents
- gava.pdf
Frédéric Gava, LACL, Université de Paris Est, Créteil
Nous présenterons BSML (Bulk Synchronous Parallel ML), un langage de
programmation de haut-niveau pour machines parallèles, ainsi que des
exemples classiques de parallélisme implémentés dans ce langage. Nous
complèterons cette présentation par une étude comparative des coûts
théoriques de ces algorithmes réalisée sur la grappe de PC du LACL.
Frédéric Gava est maître de conférences en informatique à
l'université de Paris 12. Ses travaux de thèse ont porté sur la
programmation parallèle (et des méta-ordinateurs) de haut-niveau qui
lui ont valu le prix de thèse 2006 de la fondation EADS dans le
domaine des STIC. Il travaille actuellement sur la preuve de
programme parallèle et la conception d'un vérificateur parallèle de
modèles pour réseaux de Petri de haut-niveau implanté avec les
méthodes développées lors de son travail de thèse.
http://lacl.univ-paris12.fr/gava/
Programmation parallèle certifiée
Frédéric Loulergue, LIFO, Université d'Orléans
L'algorithmique constructive permet, partant d'une spécification écrite
sous forme d'une combinaison non-efficace de fonctions, de dériver, sous
certaines conditions, des algorithmes parallèles efficaces. Cette dérivation
s'appuie sur des théorèmes d'équivalence de programmes et est formellement
correcte. Elle aide le programmeur à concevoir des programmes parallèles.
Toutefois les bibliothèques de squelettes proposées ne sont pas certifiées.
Dans le cadre d'une collaboration avec l'université de Tokyo, nous proposons
de cibler des squelettes algorithmiques développés en BSML et certifiés à
l'aide de l'assistant de preuve Coq.
Frédéric Loulergue est professeur à l'Université d'Orléans depuis
septembre 2005, directeur adjoint du Laboratoire d'Informatique
Fondamentale d'Orléans (LIFO), membre de l'équipe Parallélisme,
Réalité virtuelle et Vérification (PRV). Il travaille sur le
parallélisme avec des langages et modèles de haut-niveau (conception
de langages et bibliothèques, sémantique, vérification, algorithmes et
applications).
http://f.loulergue.free.fr/
Dimanche 14 septembre 2008, 14h-17h, Amphi 4
Systèmes, algorithmes et applications: Efficacité et utilité des systèmes parallèles.
- Documents
- hains.pdf
Gaétan Hains, LACL, Université de Paris Est, Créteil
Dans cet exposé je présenterai le modèle bulk-synchronous parallelism (BSP)
des algorithmes et architectures parallèles, ainsi qu'un tour d'horizon des
domaines d'application du parallélisme. BSP propose une vue unifiée des
principaux paramètres de la performance des algorithmes parallèles et de
leur adéquation sur les architectures multi-processeur, multi-coeur et leurs
réseaux de communication interne. Il permet une analyse portable et
extensible des performances ce qui permet d'éviter les principaux pièges de
l'informatique parallèle: mauvaise granularité, réseau mal adapté,
déséquilibres.
Gaétan Hains est directeur du LACL à l'université de Paris 12. Son
programme de recherche porte sur la programmation parallèle et la
sécurité.
http://lacl.univ-paris12.fr/hains
Outils pour le parallèlisme : apports de la programmation générative
- Documents
- falcou.pdf, falcou-1.pdf, falcou-2.pdf, falcou-3.pdf, falcou-4.pdf, falcou-5.pdf, falcou-6.pdf
Joël Falcou, IEF, Université de Paris-Sud, Orsay
Les besoins croissants en puissance de calcul exprimés par de nombreux domaines scientifiques exercent une pression très forte sur les architectures émergentes, les rendant toujours plus performantes mais toujours plus complexes à maîtriser. Dans ce cadre, le développement d'outils tirant parti des spécificités de ces architectures (quadri- et bientôt octo-coeurs, processeurs Cell ou GPU par exemple) devient une gageure car allier expressivité et efficacité est une tâche ardue. Les travaux exposés ici montrent comment l'utilisation de la programmation générative, et en particulier de la méta-programmation template, permet de répondre au problème de performances et d'abstractions.
Nous montrerons comment ces techniques ont permis de développer Quaff,
un outil de placement automatique d'applications data-flow sur des
cibles variées comme les clusters, les multi-coeurs ou le processeur
Cell.
Joel Falcou est maître de conférences en informatique au LRI,
Université de Paris 11. Ses travaux de thèse ont porté sur la
programmation parallèle pour la vision artificielle et plus
particulièrement sur les applications de la programmation générative
pour la création d'outils d'aide à la parallélisation. Il travaille
actuellement sur la définition de langages orientés domaine pour le
parallèlisme, outils qui s'intègrent dans divers projets de recherche
(ANR et System@tic).
http://www.lri.fr/~falcou