Comparing Cross-Platform Performance via Node-to-Node Scaling Studies
Kenneth Weiss, Thomas M. Stitt, Daryl Hawkins, Olga Pearce, Stephanie Brink, Robert N. Rieben
TL;DR
Cross-platform HPC performance comparisons face practical setup challenges across heterogeneous architectures. The paper proposes node-to-node scaling as the core unit of comparison and provides plotting templates for strong, weak, strong-weak, and throughput analyses, along with an end-to-end workflow using Maestro, Caliper/Adiak, Thicket, and pandas. It contributes a structured visualization toolkit and multiple Marbl-based case studies across CPU, GPU, ARM, and cloud environments, demonstrating insights such as memory-bandwidth saturation and the benefits of shared memory pools and matrix-free remap. The work enables more informed platform selection, procurement decisions, and performance-portable code design, while acknowledging data-tracking burdens and opportunities for automation in future work. Key metrics include the strong scaling speedup $t_{P}(1)/t_{P}(N)$, the weak scaling efficiency $t_{P}(1)/t_{P}(N)$, and throughput defined as $throughput = \frac{\langle DOFs-processed\rangle}{\text{compute\_node}} \cdot \frac{cycles}{second}$, with charts employing $log_2$ and $log_{10}$ scales to visualize scaling behavior.
Abstract
Due to the increasing diversity of high-performance computing architectures, researchers and practitioners are increasingly interested in comparing a code's performance and scalability across different platforms. However, there is a lack of available guidance on how to actually set up and analyze such cross-platform studies. In this paper, we contend that the natural base unit of computing for such studies is a single compute node on each platform and offer guidance in setting up, running, and analyzing node-to-node scaling studies. We propose templates for presenting scaling results of these studies and provide several case studies highlighting the benefits of this approach.
