Implementation and Performance Analysis of SkelGIS for Network Mesh-Based Simulations

  • Hélène Coullon
  • Sébastien Limet
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8632)


The implicit parallelism is an active domain of computer-science to hide intricate details of parallelization from the end-user. Some solutions are specific to a precise domain while others are more generic, however, the purpose is always to find the adapted level of abstraction to ease the high performance and parallel programming. We present SkelGIS, a header-only implicit parallelism C++ library to solve mesh-based scientific simulations. In this paper is detailed the implementation of SkelGIS for the specific case of network simulations, where the space domain can be represented as a directed acyclic graph (DAG). This implementation is based on a modified, optimized and parallelized version of the Compressed Sparse Row format, which is completely described in this paper. Finally, experiments on different kinds of clusters and different sizes of DAGs are evaluated.


Directed Acyclic Graph Local Node Network Simulation Unstructured Mesh Cache Line 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alexandrescu, A.: Modern C++ design: Generic programming and design patterns applied. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)Google Scholar
  2. 2.
    Balay, S., Gropp, W.D., Curfman McInnes, L., Smith, B.F.: Efficient management of parallelism in object oriented numerical software libraries. In: Modern Software Tools in Scientific Computing, pp. 163–202. Birkhäuser Press (1997)Google Scholar
  3. 3.
    Barrett, R., Berry, M., Chan, T.F., Demmel, J., Donato, J., Dongarra, J., Eijkhout, V., Pozo, R., Romine, C., Van der Vorst, H.: Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, 2nd edn. SIAM (1994)Google Scholar
  4. 4.
    Chevalier, C., Pellegrini, F.: PT-Scotch: A tool for efficient parallel graph ordering. Parallel Computing 34(68), 318–331 (2008)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Coullon, H., Le, M.-H., Limet, S.: Parallelization of shallow-water equations with the algorithmic skeleton library SkelGIS. In: ICCS. Procedia Computer Science, vol. 18, pp. 591–600. Elsevier (2013)Google Scholar
  6. 6.
    Coullon, H., Limet, S.: Algorithmic skeleton library for scientific simulations: SkelGIS. In: HPCS, pp. 429–436. IEEE (2013)Google Scholar
  7. 7.
    DeVito, Z., Joubert, N., Palacios, F., Oakley, S., Medina, M., Barrientos, M., Elsen, E., Ham, F., Aiken, A., Duraisamy, K., Darve, E., Alonso, J., Hanrahan, P.: Liszt: A domain specific language for building portable mesh-based PDE solvers. In: Proc. of 2011 Intern. Conf. for High Performance Computing, Networking, Storage and Analysis, SC 2011, pp. 1–12. ACM (2011)Google Scholar
  8. 8.
    Nick Edmonds and Andrew Lumsdaine. Distributed compressed sparse row (2010)Google Scholar
  9. 9.
    Fishgold, L., Danalis, A., Pollock, L., Swany, M.: An automated approach to improve communication-computation overlap in clusters. In: Proceedings of the 20th International Conference on Parallel and Distributed Processing, IPDPS 2006, pp. 290–290. IEEE Computer Society, Washington, DC (2006)Google Scholar
  10. 10.
    Javed, N., Loulergue, F.: Parallel programming and performance predictability with Orléans Skeleton Library. In: HPCS, pp. 257–263. IEEE (2011)Google Scholar
  11. 11.
    Mudalige, G.R., Giles, M.B., Reguly, I., Bertolli, C., Kelly, P.H.J.: OP2: An active library framework for solving unstructured mesh-based applications on multi-core and many-core architectures. In: Innovative Parallel Computing (InPar), pp. 1–12. IEEE (2012)Google Scholar
  12. 12.
    Schloegel, K., Karypis, G., Kumar, V.: Parallel static and dynamic multi-constraint graph partitioning. Concurrency and Computation: Practice and Experience 14(3), 219–240 (2002)CrossRefzbMATHGoogle Scholar
  13. 13.
    Vastenhouw, B., Bisseling, R.H.: A two-dimensional data distribution method for parallel sparse matrix-vector multiplication. SIAM Rev. 47(1), 67–95 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Wang, X., Fullana, J.-M., Lagrée, P.-Y.: Verification and comparison of four numerical schemes for a 1D viscoelastic blood flow model. Technical report, Institut Jean Le Rond d’Alembert - IJLRA (2012)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Hélène Coullon
    • 1
    • 2
  • Sébastien Limet
    • 1
  1. 1.INSA Centre Val de Loire, LIFO EA 4022Univ. OrléansOrléans Cedex 2France
  2. 2.Géo-Hyd Antea GroupOlivetFrance

Personalised recommendations