GPUexplore 2.0: Unleashing GPU Explicit-State Model Checking

  • Anton Wijs
  • Thomas NeeleEmail author
  • Dragan Bošnački
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9995)


In earlier work, we were the first to investigate the potential of using graphics processing units (GPUs) to speed up explicit-state model checking. Back then, the conclusion was clearly that this potential exists, having measured speed-ups of around 10 times, compared to state-of-the-art single-core model checking. In this paper, we present a new version of our GPU model checker, GPUexplore. Since publication of our earlier work, we have identified and implemented several approaches to improve the performance of the model checker considerably. These include enhanced lock-less hashing of the states and improved thread synchronizations. We discuss experimental results that show the impact of both the progress in hardware in the last few years and our proposed optimisations. The new version of GPUexplore running on state-of-the-art hardware can be more than 100 times faster than a sequential implementation for large models and is on average eight times faster than the previous version of the tool running on the same hardware.


Model Check Graphic Processing Unit Shared Memory Hash Table Global Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  2. 2.
    Barnat, J., Bauch, P., Brim, L., Češka, M.: Designing fast LTL model checking algorithms for many-core GPUs. J. Parallel Distrib. Comput. 72(9), 1083–1097 (2012)CrossRefGoogle Scholar
  3. 3.
    Barnat, J., Brim, L., Češka, M., Lamr, T.: CUDA accelerated LTL model checking. In: 15th International Conference on Parallel and Distributed Systems, pp. 34–41. IEEE (2009)Google Scholar
  4. 4.
    Bartocci, E., Defrancisco, R., Smolka, S.A.: Towards a GPGPU-parallel SPIN model checker. In: SPIN, pp. 87–96. ACM (2014)Google Scholar
  5. 5.
    Basten, T., Bošnački, D.: Enhancing Partial-Order Reduction via Process Clustering. In: 16th IEEE International Conference on Automated Software Engineering. pp. 245–253 (2001)Google Scholar
  6. 6.
    Basten, T., Bošnački, D., Geilen, M.: Cluster-based partial-order reduction. ASE 11(4), 365–402 (2004)Google Scholar
  7. 7.
    Bošnački, D., Edelkamp, S., Sulewski, D., Wijs, A.: Parallel probabilistic model checking on general purpose graphics processors. STTT 13(1), 21–35 (2010)Google Scholar
  8. 8.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2001)CrossRefGoogle Scholar
  9. 9.
    Cranen, S., Groote, J.F., Keiren, J.J.A., Stappers, F.P.M., Vink, E.P., Wesselink, W., Willemse, T.A.C.: An overview of the mCRL2 toolset and its recent advances. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 199–213. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-36742-7_15 CrossRefGoogle Scholar
  10. 10.
    Edelkamp, S., Sulewski, D.: Efficient explicit-state model checking on general purpose graphics processors. In: Pol, J., Weber, M. (eds.) SPIN 2010. LNCS, vol. 6349, pp. 106–123. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16164-3_8 CrossRefGoogle Scholar
  11. 11.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2011: a toolbox for the construction and analysis of distributed processes. STTT 15(2), 89–107 (2013)CrossRefzbMATHGoogle Scholar
  12. 12.
    Lang, F.: Refined interfaces for compositional verification. In: Najm, E., Pradat-Peyre, J.-F., Donzeau-Gouge, V.V. (eds.) FORTE 2006. LNCS, vol. 4229, pp. 159–174. Springer, Heidelberg (2006). doi: 10.1007/11888116_13 CrossRefGoogle Scholar
  13. 13.
    Wijs, A.: BFS-based model checking of linear-time properties with an application on GPUs. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9780, pp. 472–493. Springer, Heidelberg (2016). doi: 10.1007/978-3-319-41540-6_26 CrossRefGoogle Scholar
  14. 14.
    Wijs, A., Bošnački, D.: GPUexplore: many-core on-the-fly state space exploration using GPUs. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 233–247. Springer, Heidelberg (2014). doi: 10.1007/978-3-642-54862-8_16 CrossRefGoogle Scholar
  15. 15.
    Wijs, A., Bošnački, D.: Many-core on-the-fly model checking of safety properties using GPUs. STTT 18(2), 1–17 (2015)Google Scholar
  16. 16.
    Wu, Z., Liu, Y., Liang, Y., Sun, J.: GPU accelerated counterexample generation in LTL model checking. In: Merz, S., Pang, J. (eds.) ICFEM 2014. LNCS, vol. 8829, pp. 413–429. Springer, Heidelberg (2014). doi: 10.1007/978-3-319-11737-9_27 Google Scholar
  17. 17.
    Wu, Z., Liu, Y., Sun, J., Shi, J., Qin, S.: GPU accelerated on-the-fly reachability checking. In: 20th International Conference on Engineering of Complex Computer Systems, pp. 100–109. IEEE (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.Eindhoven University of TechnologyEindhovenThe Netherlands
  2. 2.University of TwenteEnschedeThe Netherlands

Personalised recommendations