2021/03/01 by Edward Hutter, Hutter, Edward, Edgar Solomonik +1
Computer Science · #Cloud Computing and Resource Management #Distributed #FOS: Computer and information sciences #Parallel #Parallel Computing and Optimization Techniques #Software System Performance and Reliability #and Cluster Computing (cs.DC)
paper · pdf · doi:10.48550/arxiv.2103.01304
openalex publication_date 2021/03/01 · openalex created_date 2022/07/25 · openalex updated_date 2026/07/28
The prohibitive expense of automatic performance tuning at scale has largely\nlimited the use of autotuning to libraries for shared-memory and GPU\narchitectures. We introduce a framework for approximate autotuning that\nachieves a desired confidence in each algorithm configuration's performance by\nconstructing confidence intervals to describe the performance of individual\nkernels (subroutines of benchmarked programs). Once a kernel's performance is\ndeemed sufficiently predictable for a set of inputs, subsequent invocations are\navoided and replaced with a predictive model of the execution time. We then\nleverage online execution path analysis to coordinate selective kernel\nexecution and propagate each kernel's statistical profile. This strategy is\neffective in the presence of frequently-recurring computation and communication\nkernels, which is characteristic to algorithms in numerical linear algebra. We\nencapsulate this framework as part of a new profiling tool, Critter, that\nautomates kernel execution decisions and propagates statistical profiles along\ncritical paths of execution. We evaluate performance prediction accuracy\nobtained by our selective execution methods using state-of-the-art\ndistributed-memory implementations of Cholesky and QR factorization on\nStampede2, and demonstrate speed-ups of up to 7.1x with 98% prediction\naccuracy.\n