Performance Evaluation and Tuning of 2D Jacobi Iteration on Many-Core Machines
Zhengxiong Hou, Christian Pérez · 2013
Multi-core machines are dominating the HPC (High Performance Computing) community, some many-core architectures are newly emerging. Whether HPC applications scale well with the number of cores is a main concern. For the performance evaluation and tuning of many-core machines, the 2D Jacobi iteration was chosen as a typical HPC application of stencil computation. We present performance oriented tuning strategies and experimental results of the Jacobi application on many-core machines. The main performance tuning strategies include data partitioning within a many-core node, threads mapping polices within a many-core node, number of threads within a many-core node, data partitioning for some nodes, number of processes per node for a many-core cluster. The typical programming models for HPC are explored, including Pthreads, OpenMP threads and MPI processes. The results of performance evaluation and tuning are obtained on some many-core based parallel machines from PRACE or Grid'5000, such as Curie and Stremi cluster.