Abstract Parallel Array Types and Ghost Cell Update Implementation

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.

[1]  Rajeev Thakur,et al.  Optimization of Collective Communication Operations in MPICH , 2005, Int. J. High Perform. Comput. Appl..

[2]  Katherine Yelick,et al.  Introduction to UPC and Language Specification , 2000 .

[3]  Robert B. Ross,et al.  Using MPI-2: Advanced Features of the Message Passing Interface , 2003, CLUSTER.

[4]  Yifeng Chen,et al.  PARRAY: a unifying array representation for heterogeneous parallelism , 2012, PPoPP '12.

[5]  Wei Ge,et al.  Petascale molecular dynamics simulation of crystalline silicon on Tianhe-1A , 2013, Int. J. High Perform. Comput. Appl..

[6]  Ewing Lusk,et al.  Improving the Performance of MPI Derived Datatypes , 2010 .

[7]  Xiaomin Zhu,et al.  Analyzing MPI-3.0 Process-Level Shared Memory: A Case Study with Stencil Computations , 2015, 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[8]  J. Ramanujam,et al.  SDSLc: a multi-target domain-specific compiler for stencil computations , 2015, WOLFHPC@SC.

[9]  M. Snir,et al.  Ghost Cell Pattern , 2010, ParaPLoP '10.

[10]  Robert W. Numrich,et al.  Co-arrays in the next Fortran Standard , 2005, FORF.

[11]  Samuel Williams,et al.  Snowflake: A Lightweight Portable Stencil DSL , 2017, 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).