English

Performance analysis of the Kahan-enhanced scalar product on current multicore processors

Performance 2019-02-19 v1 Distributed, Parallel, and Cluster Computing

Abstract

We investigate the performance characteristics of a numerically enhanced scalar product (dot) kernel loop that uses the Kahan algorithm to compensate for numerical errors, and describe efficient SIMD-vectorized implementations on recent Intel processors. Using low-level instruction analysis and the execution-cache-memory (ECM) performance model we pinpoint the relevant performance bottlenecks for single-core and thread-parallel execution, and predict performance and saturation behavior. We show that the Kahan-enhanced scalar product comes at almost no additional cost compared to the naive (non-Kahan) scalar product if appropriate low-level optimizations, notably SIMD vectorization and unrolling, are applied. We also investigate the impact of architectural changes across four generations of Intel Xeon processors.

Keywords

Cite

@article{arxiv.1505.02586,
  title  = {Performance analysis of the Kahan-enhanced scalar product on current multicore processors},
  author = {Johannes Hofmann and Dietmar Fey and Jan Eitzinger and Georg Hager and Gerhard Wellein},
  journal= {arXiv preprint arXiv:1505.02586},
  year   = {2019}
}

Comments

10 pages, 4 figures