Modern Multicore and Manycore Architectures: modelling, optimisation and benchmarking a multiblock CFD code
File(s)cpc.pdf (840.66 KB) 1-s2.0-S0010465516300959-main.pdf (1.29 MB)
Accepted version
Published version
Author(s)
Hadade, IC
di Mare, L
Type
Journal Article
Abstract
Modern multicore and manycore processors exhibit multiple levels of parallelism
through a wide range of architectural features such as SIMD for data parallel
execution or threads for core parallelism. The exploitation of multi-level parallelism
is therefore crucial for achieving superior performance on current and
future processors. This paper presents the performance tuning of a multiblock
CFD solver on Intel SandyBridge and Haswell multicore CPUs and the Intel
Xeon Phi Knights Corner coprocessor. Code optimisations have been applied
on two computational kernels exhibiting different computational patterns: the
update of flow variables and the evaluation of the Roe numerical fluxes. We
discuss at great length the code transformations required for achieving effi-
cient SIMD computations for both kernels across the selected devices including
SIMD shuffles and transpositions for flux stencil computations and global memory
transformations. Core parallelism is expressed through threading based
on a number of domain decomposition techniques together with optimisations
pertaining to alleviating NUMA effects found in multi-socket compute nodes.
Results are correlated with the Roofline performance model in order to assert
their efficiency for each distinct architecture. We report significant speedups
for single thread execution across both kernels: 2-5X on the multicore CPUs
and 14-23X on the Xeon Phi coprocessor. Computations at full node and chip
concurrency deliver a factor of three speedup on the multicore processors and
up to 24X on the Xeon Phi manycore coprocessor.
through a wide range of architectural features such as SIMD for data parallel
execution or threads for core parallelism. The exploitation of multi-level parallelism
is therefore crucial for achieving superior performance on current and
future processors. This paper presents the performance tuning of a multiblock
CFD solver on Intel SandyBridge and Haswell multicore CPUs and the Intel
Xeon Phi Knights Corner coprocessor. Code optimisations have been applied
on two computational kernels exhibiting different computational patterns: the
update of flow variables and the evaluation of the Roe numerical fluxes. We
discuss at great length the code transformations required for achieving effi-
cient SIMD computations for both kernels across the selected devices including
SIMD shuffles and transpositions for flux stencil computations and global memory
transformations. Core parallelism is expressed through threading based
on a number of domain decomposition techniques together with optimisations
pertaining to alleviating NUMA effects found in multi-socket compute nodes.
Results are correlated with the Roofline performance model in order to assert
their efficiency for each distinct architecture. We report significant speedups
for single thread execution across both kernels: 2-5X on the multicore CPUs
and 14-23X on the Xeon Phi coprocessor. Computations at full node and chip
concurrency deliver a factor of three speedup on the multicore processors and
up to 24X on the Xeon Phi manycore coprocessor.
Date Issued
2016-04-22
Date Acceptance
2016-04-13
Citation
Computer Physics Communications, 2016, 205, pp.32-47
ISSN
1879-2944
Publisher
Elsevier
Start Page
32
End Page
47
Journal / Book Title
Computer Physics Communications
Volume
205
Copyright Statement
© 2016 The Author(s). Published by Elsevier B.V.
This is an open access article under the CC BY license
(http://creativecommons.org/licenses/by/4.0/).
This is an open access article under the CC BY license
(http://creativecommons.org/licenses/by/4.0/).
License URL
Subjects
Science & Technology
Technology
Physical Sciences
Computer Science, Interdisciplinary Applications
Physics, Mathematical
Computer Science
Physics
Computational fluid dynamics
Code optimisation
SIMD
SandyBridge
Haswell
Xeon Phi
Parallel performance
PERFORMANCE
SCHEMES
Nuclear & Particles Physics
01 Mathematical Sciences
02 Physical Sciences
08 Information And Computing Sciences
Publication Status
Accepted