Zheng Li (avec R. DiCosmo et S. Pelagatti) PPS. Doctorant Paris-7 depuis 2003. sur le thème ocamlP3L. Ancien stagiaire à Univ Pisa avec S. Pelagatti. Stage de DEA à Paris-7, projet CRISTAL (INRIA-PPS). "MAP calculus, formalizing data-parallel computation over dense arrays". Objectif: efficacité parallèle + facilité de programmation. Une approche intermédiaire entre FORTRAN/MPI et les squelettes algorithmiques (fonctions génériques moins efficaces). multicast = scatter + broadcast ou scatter + allgather ou direct send ? Choix selon la performance. Multi-dimensional Array Processing calculus. - express operations on arrays and allow proofs of equivalence - compare strategies that are functionnaly equivalent - cost model to select among strategies. Source code -> MAP expression -> optimized MAP expression (cost-driven choice) -> parallel primitives with target code. A library of formal identities is used to transfort into an optimized MAP expression. Formal concepts: index (integer list), block (int*int)list, array index -> value, id int, distribution index -> block. state= index(P) -> ID -> Index(A) -> Value. Aussi: communicator (comme en MPI) et computation array list -> array list. Sémantique dénotationnelle (fonctionnelle pure) à partir de transformateurs d'états (state ci-dessus). Questions ouvertes pour appliquer le MAP calculus: - more identities are needed, proved by hand for now ... - matching and searching algorithms - low-level primitives for implementation, interfaces, integration. Advantages: high-level style of programming, program transformation that are safe and optimizing, BSP (portable, scalable cost-model). Future work: implement MAP as an intermediate language. Develop interface between MAP calculus and low-level primitives like BSML etc. Extend OcamlP3L with this framework. Prototype available end of 2004. Application of OcamlP3L in the ESTIME INRIA project. In use at Milano and Pisa for research. ---