High Performance Stencil Computations for Intel\(^{\normalsize \circledR }\) Xeon Phi™ Coprocessor

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 626)

Abstract

Stencil computations are a class of computational kernels which update array elements according to some stencil patterns, and they have drawn more attentions recently. The Intel Xeon Phi coprocessor, which is designed for high performance computing, has not been fully evaluated for stencil computations. In this paper, we present a series of optimizations to accelerate the 3-D 7-point stencil code on Intel Xeon Phi coprocessor. We focus on how to exploit the performance potential of many cores and wide-vector unit in each core. In order to exploit data locality, we use loop tiling and we propose a method for calculating the block size while tiling. The achieved performance brings a speedup of 211.6 in comparison with the serial code.

Keywords

Stencil computation Intel\(^{\circledR }\) Xeon Phi™ coprocessor Vectorization Loop tiling 

Notes

Acknowledgments

The work described in this paper is partially supported by the project of National Science Foundation of China under grant No.61170046 and No.61402495.

References

  1. 1.
    HiStencils. http://www.exastencils.org/histencils/. Accessed 15 Apr 2015
  2. 2.
    Stencil code. http://en.wikipedia.org/wiki/Stencil_code/. Accessed 15 Apr 2015
  3. 3.
    Michael, M., Reinders, J., Robison, A.: Structured Parallel Programming: Patterns for Efficient Computation. Elsevier, Amsterdam (2012)Google Scholar
  4. 4.
    Intel Corporation. Intel\(^{\textregistered }\) Xeon Phi™ coprocessor system software developers guide, March 2014Google Scholar
  5. 5.
    Duran, A., Michael, K.: The Intel\(^{\textregistered }\) many integrated core architecture. In: International Conference on High Performance Computing and Simulation (HPCS). IEEE (2012)Google Scholar
  6. 6.
    James, J., Reinders, J.: Intel\(^{\textregistered }\) Xeon Phi™ Coprocessor High-performance Programming. Newnes, Oxford (2013)Google Scholar
  7. 7.
    Top 500 list. http://www.top500.org/. Accessed 1 June 2016
  8. 8.
    Chapman, B., Jost, G., Van Der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming, vol. 10. MIT press, Massachusetts (2008)Google Scholar
  9. 9.
    Xue, J.: Loop Tiling for Parallelism. Springer Science & Business Media, Berlin (2000)CrossRefMATHGoogle Scholar
  10. 10.
    Leopold, C.: Tight bounds on capacity misses for 3D stencil codes. In: Sloot, P.M.A., Tan, C.J.K., Dongarra, J., Hoekstra, A.G. (eds.) ICCS-ComputSci 2002, Part I. LNCS, vol. 2329, pp. 843–852. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    Schäfer, A., Fey, D.: High performance stencil code algorithms for GPGPUs. Procedia Comput. Sci. 4, 2027–2036 (2011)CrossRefGoogle Scholar
  12. 12.
    Maruyama, N., Takayuki, A.: Optimizing stencil computations for NVIDIA Kepler GPUs. In: Proceedings of the 1st International Workshop on High Performance Stencil Computations, Vienna (2014)Google Scholar
  13. 13.
    You, Y., et al.: Evaluating multi-core, many-core architectures through accelerating the three-dimensional LaxCWendroff correction stencil. Int. J. High Perform. Comput. Appl. 28(3), 301–318 (2014)CrossRefGoogle Scholar
  14. 14.
    Rahman, S.M., Faizur, Q.Y., Apan, Q.: Understanding stencil code performance on multicore architectures. In: Proceedings of the 8th ACM International Conference on Computing Frontiers. ACM (2011)Google Scholar
  15. 15.
    Wang, Q., et al.: Accelerating embarrassingly parallel algorithm on Intel MIC. In: International Conference on Progress in Informatics and Computing (PIC). IEEE (2014)Google Scholar
  16. 16.
    Tao, G., et al.: Using the intel many integrated core to accelerate graph traversal. Int. J. High Perform. Comput. Appl. 28(3), 255–266 (2014)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media Singapore 2016

Authors and Affiliations

  • Luxia Feng
    • 1
  • Yushan Dong
    • 1
  • Chunjiang Li
    • 1
  • Hao Jiang
    • 1
  1. 1.School of ComputerNational University of Defence TechnologyChangshaChina

Personalised recommendations