White Papers

HPCG Performance study with
Intel KNL
By Ashish Kumar Singh. January 2017 (HPC Innovation Lab)
This blog presents an in-depth analysis of the High Performance Conjugate Gradient (HPCG)
benchmark on the Intel Xeon Phi processor, which is based on Intel Xeon Phi architecture codenamed
“Knights Landing”. The analysis has been performed on PowerEdge C6320p platform with the new
Intel Xeon Phi 7230 processor.
Introduction to HPCG and Intel Xeon Phi 7230 processor
The HPCG benchmark constructs a logically global, physically distributed sparse linear system using a
27-point stencil at each grid point in 3D domain such that the equation at the point (I, j, k) depend on
its values and 26 surrounding neighbors. The global domain computed by benchmark is (NRx * Nx) X
(NRy*Ny) X (NRz*Nz), where Nx, Ny and Nz are dimensions of local subgrids, assigned to each MPI
process and number of MPI ranks are NR = (NRx X NRy X NRz). These values can be defined in
hpcg.dat file or passed in the command line arguments.
The HPCG benchmark is based on conjugate gradient solver, where the pre-conditioner is a three-level
hierarchical multi-grid (MG) method with Gauss-Seidel. The algorithm starts with MG and
contains Symmetric Gauss-Seidel (SymGS) and Sparse Matrix-vector multiplication (SPMV) routines
for each level. Both SYMGS and SPMV require data from their neighbor as data is distributed across
nodes which is provided by their predecessor, the Exchange Halos routine. The residual should be
lower than 1
-6
which is locally computed by Dot Product (DDOT), while MPI_Allreduce follows the
DDOT and completes the global operation. WAXPBY only updates a vector with sum of two scaled
vectors. Scaled vector addition is a simple operation that calculates the output vector by scaling the
input vectors with a constant and performing an addition on the values of the same index. So, HPCG
has four computational blocks SPMV, SymGS, WAXPBY and DDOT, while two communication
blocks MPI_Allreduce and Halos Exchange.
Intel Xeon Phi Processor is a new generation of processors from the Intel Xeon Phi family. Previous
generations of Intel Xeon Phi were available as a coprocessor, in a PCI card form factor and required
an Intel Xeon processor. The Intel Xeon Phi 7230 contains 64 cores @ 1.3GHz of core frequency along

Summary of content (6 pages)