Analytic performance model for parallel overlapping memory-bound kernels

Afzal A, Hager G, Wellein G (2022)


Publication Language: English

Publication Type: Journal article, Original article

Publication year: 2022

Journal

Journal Issue: e6816

URI: https://onlinelibrary.wiley.com/doi/10.1002/cpe.6816

DOI: 10.1002/cpe.6816

Abstract

Complex applications running on multicore processors show a rich performance phenomenology. The growing number of cores per ccNUMA domain complicates performance analysis of memory-bound code since system noise, load imbalance, or task-based programming models can lead to thread desynchronization. Hence, the simplifying assumption that all cores execute the same loop can not be upheld. Motivated by observations on plain and modified versions of the HPCG benchmark, we construct a performance model of execution of memory-bound loop kernels. It can predict the memory bandwidth share per kernel on a memory contention domain depending on the number of active cores and which other workload the kernel is paired with. The only code features required are the single-thread memory request fraction per kernel, which is directly related to the single-thread memory bandwidth, and its saturated bandwidth. The former can either be measured directly or predicted using the Execution-Cache-Memory performance model. The computational intensity of the kernels and the detailed structure of the code is of no significance. We validate our model on Intel Broadwell, Intel Cascade Lake, and AMD Rome processors pairing various streaming and stencil kernels. The error in predicting the bandwidth share per kernel is less than 8%.

Authors with CRIS profile

Additional Organisation(s)

How to cite

APA:

Afzal, A., Hager, G., & Wellein, G. (2022). Analytic performance model for parallel overlapping memory-bound kernels. Concurrency and Computation-Practice & Experience, e6816. https://dx.doi.org/10.1002/cpe.6816

MLA:

Afzal, Ayesha, Georg Hager, and Gerhard Wellein. "Analytic performance model for parallel overlapping memory-bound kernels." Concurrency and Computation-Practice & Experience e6816 (2022).

BibTeX: Download