Towards Mechanised Semantics of HPC: The BSP with Subgroup Synchronisation Case

  • Jean Fortin
  • Frédéric GavaEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9532)


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.


BSP Mechanised semantics Coq Subgroup MPI 


  1. 1.
    Appel, A.W., Blazy, S.: Separation logic for small-step cminor. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 5–21. Springer, Heidelberg (2007) CrossRefGoogle Scholar
  2. 2.
    Bisseling, R.H.: Parallel Scientific Computation. A structured approach using BSP and MPI. Oxford University Press, New York (2004) zbMATHGoogle Scholar
  3. 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. 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
  5. 5.
    Filliâtre, J.-C., Marché, C.: The why/krakatoa/caduceus platform for deductive program verification. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 173–177. Springer, Heidelberg (2007) CrossRefGoogle Scholar
  6. 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. 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. 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
  9. 9.
    Li, G., Palmer, R., Delisi, M., Gopalakrishnan, G., Kirby, R.M.: Formal specification of MPI 2.0: case study in specifying a practical concurrent programming API. Sci. Comput. Program. 76(2), 65–81 (2011)CrossRefzbMATHGoogle Scholar
  10. 10.
    Tesson, J., Loulergue, F.: Formal semantics of DRMA-style programming in BSPlib. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds.) PPAM 2007. LNCS, vol. 4967, pp. 1122–1129. Springer, Heidelberg (2008) CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.LACLUniversity of Paris-EastCréteilFrance

Personalised recommendations