Towards Mechanised Semantics of HPC: The BSP with Subgroup Synchronisation Case
The underlying objective of this article is to exhibit the problems that might be encountered when working on a mechanised semantics of an hpc language. We take for instance a language to program bsp algorithms with subgroup synchronisation à lampi. We give two mechanised semantics using the coq system and prove some common properties. By comparing the sizes of the semantics and proofs, we discuss about the potential scaling problems that would arise if we would like to extend this work to a mainstream language or adding more hpc routines.
KeywordsBSP Mechanised semantics Coq Subgroup MPI
- 3.Bocchino Jr., R.L., Adve, V.S., Snir, M.: Parallel programming must be deterministic by default. In: USENIX Conference on Hot Topics in Parallelism (2009)Google Scholar
- 4.Cappello, F., Guermouche, A., Snir, M.: On communication determinism in parallel HPC applications. In: Computer Communications and Networks (ICCCN), pp. 1–8. IEEE (2010)Google Scholar
- 6.Fortin, J., Gava, F.: BSP-why: a tool for deductive verification of bsp algorithms with subgroup synchronization. J. Parallel Programm. 1–24 (2015)Google Scholar
- 7.Gava, F., Fortin, J.: Two formal semantics of a subset of the pub. In: Parallel, Distributed and Network-Based Processing (PDP). IEEE Press (2009)Google Scholar
- 8.Leroy, X.: Mechanized semantics with applications to program proof and compiler verification. In: Esparza, J., Spanfelner, B., Grumberg, O. (eds.) Logics and Languages for Reliability and Security. IOS Press, Amsterdam (2010)Google Scholar