On the expressivity of a weakest precondition calculus for a simple data-parallel programming language (short version)
We present a weakest preconditions calculus à la Dijkstra for a small common kernel of existing data-parallel languages. We use two-part assertions, where the current extent of parallelism is specified by a separate boolean vector expression. Our main contribution is concerned with the conditioning construct where which modifies the current extent of parallelism. We prove that the weakest (strict) preconditions of a where block is definable by an assertion as soon as its body is. This is not the case with its weakest liberal preconditions. This sheds a new light on the deep semantic nature of the data-parallel conditioning construct.
Unable to display preview. Download preview PDF.
- 1.K.R. Apt and E.R. Olderog. Verification of Sequential and Concurrent Programs. Text and Monographs in Computer Science. Springer Verlag, 1990.Google Scholar
- 2.L. Bougé, Y. Le Guyadec, G. Utard, and B. Virot. On the expressivity of a weakest precondition calculus for a simple data-parallel programming language (extended version). Technical report, LIFO: RR94-07, Université d'Orléans, and LIP: RR94-12, ENS Lyon, April 1994.Google Scholar
- 3.L. Bougé, Y. Le Guyadec, G. Utard, and B. Virot. A proof system for a simple data-parallel programming language. In C. Girault, editor, Proc. of the IFIP WG10.3 Int. Conf. on Application in Parallel and Distributed Computing, Caracas, Vénézuela, April 1994. Elsevier.Google Scholar
- 4.L. Bougé and J.-L. Levaire. Control structures for data-parallel SIMD languages: semantics and implementation. FGCS, 8:363–378, 1992.Google Scholar
- 5.M. Clint and K.T. Narayana. On the completeness of a proof system for a synchronous parallel programming langage. In Third Conf. Found. Softw. Techn. and Theor. Comp. Science, Bangalore, India, December 1983.Google Scholar
- 6.E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.Google Scholar
- 7.High Performance Fortran Forum. High Performance Fortran language specification (draft version). CITI/CRPC, Rice Univ., Houston, January 1993. Version 1.0 Draft.Google Scholar
- 8.J. Gabarró and R. Gavaldà. An approach to correctness of data parallel algorithms. Technical Report LSI-91-19, Univ. Politécnica de Catalunya, October 1991. To appear in Journ. of Parallel and Distr. Computing, 1994.Google Scholar
- 9.M.J.C. Gordon. Programming Language Theory and its Implementation. Int. Series in Comp. Sciences. Prentice Hall, 1988.Google Scholar
- 10.MasPar Computer Corporation, Sunnyvale CA. Maspar Parallel Application Language Reference Manual, 1990.Google Scholar
- 11.N. Paris. HyperC specification document. Technical Report 93-1, HyperParallel Technologie, 1993.Google Scholar
- 12.A. Stewart. An axiomatic treatment of SIMD assignment. Bit, 30:70–82, 1990.Google Scholar
- 13.Thinking Machine Corporation, Cambridge MA. C * programming guide, 1990.Google Scholar