Abstract Parallel Array Types and Ghost Cell Update Implementation

  • Shuang ZhangEmail author
  • Bei Wang
  • Yifeng Chen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11334)


Stencil patterns are widely used in scientific simulations and image processing. To parallelize these problems, we have to divide data into chunks that are processed by different processors. One challenge with this approach is the update of ghost cells, which are the neighbor values that calculated on remote processes. This paper focus on the update communication. We provide an abstract array types to describe distribution patterns, such as ghost cells, from global and intuitive view. Based on this description, a general copyto function is provided to perform communication automatically. Furthermore, our work makes it possible to design a distribution-independent algorithm. This results in better productivity on tuning performance.


MPI Stencil Ghost cell 


  1. 1.
    Kjolstad, F.B., Snir, M.: Ghost cell pattern. In: Proceedings of the 2010 Workshop on Parallel Programming Patterns. ACM (2010)Google Scholar
  2. 2.
    Gropp, W., Thakur, R., Lusk, E.: Using MPI- 2: Advanced Features of the Message Passing Interface. MIT Press, Cambridge (1999)CrossRefGoogle Scholar
  3. 3.
    Gropp, W., Lusk, E., Swider, D.: Improving the performance of MPI derived datatypes. In: Third MPI Developer’s and User’s Conference (MPIDC 1999) (1999)Google Scholar
  4. 4.
    Hou, C., Xu, J., Wang, P., et al.: Petascale molecular dynamics simulation of crystalline silicon on Tianhe-1A. Int. J. High Perform. Comput. Appl. 27(3), 307–317 (2013)CrossRefGoogle Scholar
  5. 5.
    Draper, J.M., Culler, D.E., Yelick, K.: Introduction to UPC and Language Specification. Center for Computing Sciences, Institute for Defense Analyses (1999)Google Scholar
  6. 6.
    Numrich, R.W., Reid, J.K.: Co-arrays in the next fortran standard. ACM SIGPLAN Fortran Forum 24(2), 4–17 (2005)CrossRefGoogle Scholar
  7. 7.
    Chen, Y., Cui, X., Mei, H.: PARRAY: a unifying array representation for heterogeneous parallelism. ACM SIGPLAN Symp. Princ. Pract. Parallel Program. 47(8), 171–180 (2012)Google Scholar
  8. 8.
    Thakur, R., Rabenseifner, R., Gropp, W.: Optimization of collective communication operations in MPICH. Int. J. High Perform. Comput. Appl. 19(1), 49–66 (2005)CrossRefGoogle Scholar
  9. 9.
    Zhang, N., Driscoll, M., Markley, C.: Snowflake: a lightweight portable stencil DSL. Lawrence Berkeley National Laboratory (2017).
  10. 10.
    Zhu, X., Zhang, J., Yoshii, K.: Analyzing MPI-3.0 process-level shared memory: a case study with stencil computations. In: 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pp. 1099–1106 (2015)Google Scholar
  11. 11.
    Rawat, P., Kong, M., Henretty, T.: SDSLc: a multi-target domain-specific compiler for stencil computations. In: Proceedings of the 5th International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing. ACM (2015)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.EECSPeking UniversityBeijingChina

Personalised recommendations