• DocumentCode
    3588628
  • Title

    Scaling and analyzing the stencil performance on multi-core and many-core architectures

  • Author

    Lin Gan ; Haohuan Fu ; Wei Xue ; Yangtong Xu ; Chao Yang ; Xinliang Wang ; Zihong Lv ; Yang You ; Guangwen Yang ; Kaijian Ou

  • Author_Institution
    Minist. of Educ. Key Lab. for Earth Syst. Modeling, Tsinghua Univ., Beijing, China
  • fYear
    2014
  • Firstpage
    103
  • Lastpage
    110
  • Abstract
    Stencils are among the most important and time-consuming kernels in many applications. While stencil optimization has been a well-studied topic on CPU platforms, achieving higher performance and efficiency for the evolving numerical stencils on the more recent multi-core and many-core architectures is still an important issue. In this paper, we explore a number of different stencils, ranging from a basic 7-point Jacobi stencil to more complex high-order stencils used in finer numerical simulations. By optimizing and analyzing those stencils on the latest multi-core and many-core architectures (the Intel Sandy Bridge processor, the Intel Xeon Phi coprocessor, and the NVIDIA Fermi C2070 and Kepler K20x GPUs), we investigate the algorithmic and architectural factors that determine the performance and efficiency of the resulting designs. While multi-threading, vectorization, and optimization on cache and other fast buffers are still the most important techniques that provide performance, we observe that the different memory hierarchy and the different mechanism for issuing and executing parallel instructions lead to the different performance behaviors on CPU, MIC and GPU. With vector-like processing units becoming the major provider of computing power on almost all architectures, the compiler´s inability to align all the computing and memory operations would become the major bottleneck from getting a high efficiency on current and future platforms. Our specific optimization of the complex WNAD stencil on GPU provides a good example of what the compiler could do to help.
  • Keywords
    graphics processing units; multiprocessing systems; program compilers; Intel Sandy Bridge processor; Intel Xeon Phi coprocessor; Kepler K20x GPU; NVIDIA Fermi C2070 GPU; WNAD stencil; compiler; graphics processing unit; many-core architecture; multicore architecture; multithreading; numerical simulation; optimization; seven-point Jacobi stencil; stencil performance; vectorization; Computer architecture; Graphics processing units; Instruction sets; Kernel; Microwave integrated circuits; Optimization; Registers; Many-core architecture; Multi-core architecture; Optimizations; Stencil;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Systems (ICPADS), 2014 20th IEEE International Conference on
  • Type

    conf

  • DOI
    10.1109/PADSW.2014.7097797
  • Filename
    7097797