OCamlP3l

Cette version est obsolète.
Utilisez, s'il vous plaît, la nouvelle version CamlP3l 1.0.2

English version
Description
Manuel
Articles
Prérequis pour l'installation
Obtention du logiciel
Auteurs et Copyright

Version 2.03

Description d'OCamlP3l

OCamlP3l est un compilateur de programmes Caml parallèles. Il fonctionne sous tout type d'Unix ; sous Windows, il faut utiliser l'émulation Cygwin.

Le parallélisme ajoute une dimension supplémentaire à la difficulté habituelle de la programmation des algorithmes. En effet, lorsqu'on écrit la version parallèle d'un programme correct dans sa version normale, on voit la plupart du temps apparaître de nouvelles erreurs. Ces erreurs spécifiques au parallélisme sont subtiles et particulièrement difficiles à éradiquer. Dans les approches classiques du parallélisme, ce point d'achoppement majeur tient au non déterminisme: les résultats des programmes sont aléatoires, d'une exécution à l'autre les résultats changent. La mise au point est un vrai cauchemar.

Face à cette difficulté, le système OcamlP3l apporte une solution élégante et théoriquement fondée. Il s'agit d'offrir au programmeur un ensemble de briques de base du parallélisme, les squelettes de parallélisme, dont le comportement de passage du séquentiel au parallélisme est parfaitement maîtrisé. Un programme écrit à l'aide des squelettes de parallélisme est automatiquement exécutable à la fois en version séquentielle et en version parallèle, selon l'interprétation des squelettes demandée par le programmeur. De plus, les deux versions du programme ont la même signification mathématique; donc les mêmes résultats; et la correction de l'un vaut donc pour l'autre.

Avec les squelettes de parallélisme, OcamlP3l offre une approche originale à la parallélisation de code dont les propriétés théoriques sont étonnamment efficaces en pratique.

Avec OcamlP3l, le langage support des squelettes de parallélisme est Objective Caml. Tous les outils de ce langage fonctionnel de haut niveau sont donc à la disposition du programmeur et la réalisation des applications en est facilitée.

L'étude théorique et l'implémentation des squelettes de parallélisme est le fruit d'une collaboration entre l'Université de Pise, l'INRIA et Paris 7.

Cette approche nouvelle du parallélisme est utilisée avec succès dans le domaine du calcul scientifique pour paralléliser une base de code numérique Fortran et C++.

Manuel de l'utilisateur

Le manuel de l'utilisateur d'OCamlP3l est disponible en ligne.

Vous pouvez également télécharger le manuel en DVI, PS ou PDF.

Le manuel est actuellement en anglais uniquement, on attend des volontaires pour se charger de la traduction.

Articles

Les articles de recherche sur OCamlP3l.

Installation d'OCamlP3l

Prérequis pour l'installation

Vous devez disposer de la version 3.09 du compilateur Objective Caml.

Chargement

Distribution source d'OCamlP3l

Rapport d'anomalies

Si vous trouvez une erreur dans le logiciel, envoyez s'il vous plaît un message à ocamlp3l-bugs at inria.fr.

Si vous voulez contacter les implémenteurs (pour donner de nouvelles idées ou des lignes de code), écrivez à ocamlp3l at inria.fr.

Auteurs

La version 2.03 d'OCamlP3l a été développée durant les années 2003 à 2007 par

Roberto Di Cosmo (roberto at dicosmo.org),
Zheng Li (zli at pps.jussieu.fr),
Pierre Weis (Pierre.Weis at inria.fr),
Francois Clement (Francois.Clement at inria.fr).

Remerciements

Cette version d'OCamlP3l se fonde sur la première maquette du langage P3L développé en 1997 par

Roberto Di Cosmo (dicosmo at ens.fr),
Marco Danelutto (marcod at di.unipi.it),
Xavier Leroy (Xavier.Leroy at inria.fr),
Susanna Pelagatti (susanna at di.unipi.it).

Ce développement a été réalisé en particulier grâce à l'Action de Recherche Coopérative Moprosco.

OCamlP3l est écrit entièrement en Objective Caml.

Copyright

Ce programme est un logiciel libre distribué sous licence GNU LGPL. Voir le fichier COPYING de la distribution.

Contacts

Pierre Weis, François Clément.


Dernière modification le mercredi 7 avril 2010 sur la machine lamerluche, par fclement.
Copyright © 2006 - 2010 INRIA, tous droits réservés.