Refinement of data parallel programs in PEI

  • E. Violard
  • S. Genaud
  • G.-R. Perrin
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT)


Parallel programs mainly differ from sequential ones in that they include geometrical aspects involved by the hardware architecture. We present in this paper the PEI formalism, which enables to take into account both the geometrical and functional aspects of programs. It provides a refinement calculus mainly used to transform the geometrical characteristics of parallel programs, and we show how it may apply on data parallel programs, in particular for data alignments.


Data fields Data-parallelism Program transformation Refinement 


  1. Back, R. J. (1988), ‘A calculus of refinements for program derivations’, Acta Informatica 25, 593–624.zbMATHMathSciNetCrossRefGoogle Scholar
  2. Bird, R. S. (1987), Introduction to the theory of lists, in M. Broy, cd., ‘Logic of Programming and Calculi of Discrete Design’, Springer-Verlag, pp. 3–42.Google Scholar
  3. Chandy, K. M. & Misra, J. (1988), Parallel Program Design: A foundation, Addison Wesley.zbMATHGoogle Scholar
  4. Chen, M., il Choo, Y. & Li, J. (1991), Parallel Functional Languages and Compilers, ACM Press.Google Scholar
  5. Genaud, S., Violard, E. & Perrin, G.-R. (1995), Transformations techniques in PEI, in P. Magnusson, S. Haridi & A. Khayri, eds, ‘LNCS’, EURO-PAR95 Parallel Processing, Springer-Verlag, Stockholm, Sweden, pp. 131–142.Google Scholar
  6. Golub, G. H. & Loan, C. F. V. (1989), Matrix Computations, 2nd edn, The John Hopkins University Press.zbMATHGoogle Scholar
  7. HPF (1993), High Performance Fortran Language Specification, 1.0 edn.Google Scholar
  8. Knapp, E. (1990), ‘An exercise in the formal derivation of parallel programs: Maximum flows in graphs’, ACM Transactions on Programming Languages and Systems 12, 203–223.CrossRefGoogle Scholar
  9. Mauras, C. (1989), ALPHA: un langage équationnel pour la conception et la programmation d’architectures parallèles synchrones, PhD thesis, Université de Rennes I.Google Scholar
  10. Morgan, C. (1990), Programming from specifications, C.A.R. Hoare, Prentice Hall Ed., Endlewood Cliffs, N.J.Google Scholar
  11. Petiton, S. & Emad, N. (1996), A data parallel scientific computation introduction, Vol. LNCS 1132, Springer Verlag, pp. 45–62.Google Scholar
  12. Skillicorn, D. B. (1993), The Bird-Meertens formalism as a parallel model, in J. Kowalik & L. Grandinetti, eds, ‘NATO ARW “Software for Parallel Computation”’, Springer-Verlag.Google Scholar
  13. Thi (1990), C* Programming Guide.Google Scholar
  14. Violard, E. & Perrin, G.-R. (1992), ‘PEI: a language and its refinement calculus for parallel programming’, Parallel Computing 18, 1167–1184.zbMATHCrossRefGoogle Scholar
  15. Violard, E. & Perrin, G.-R. (1993), PEI: a single unifying model to design parallel programs, in A. Bode, M. Reeve & G. Wolf, eds, ‘PARLE 93, LNCS’, Springer-Verlag, pp. 500–516.Google Scholar

Copyright information

© IFIP 1997

Authors and Affiliations

  • E. Violard
    • 1
  • S. Genaud
    • 1
  • G.-R. Perrin
    • 1
  1. 1.ICPS - University Louis PasteurIllkirchFrance

Personalised recommendations