English
Related papers

Related papers: Automatic Throughput and Critical Path Analysis of…

200 papers

An accurate prediction of scheduling and execution of instruction streams is a necessary prerequisite for predicting the in-core performance behavior of throughput-bound loop kernels on out-of-order processor architectures. Such predictions…

Performance · Computer Science 2020-06-25 Jan Laukemann , Julian Hammer , Johannes Hofmann , Georg Hager , Gerhard Wellein

Performance models that statically predict the steady-state throughput of basic blocks on particular microarchitectures, such as IACA, Ithemal, llvm-mca, OSACA, or CQA, can guide optimizing compilers and aid manual software optimization.…

Performance · Computer Science 2022-05-23 Andreas Abel , Jan Reineke

Analytic performance models are essential for understanding the performance characteristics of loop kernels, which consume a major part of CPU cycles in computational science. Starting from a validated performance model one can infer the…

Performance · Computer Science 2015-11-06 Julian Hammer , Georg Hager , Jan Eitzinger , Gerhard Wellein

OpenCL is an attractive model for heterogeneous high-performance computing systems, with wide support from hardware vendors and significant performance portability. To support efficient scheduling on HPC systems it is necessary to perform…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-11-04 Beau Johnston , Greg Falzon , Josh Milthorpe

We describe a universal modeling approach for predicting single- and multicore runtime of steady-state loops on server processors. To this end we strictly differentiate between application and machine models: An application model comprises…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-09-30 Johannes Hofmann , Christie L. Alappat , Georg Hager , Dietmar Fey , Gerhard Wellein

In recent years, HPC systems and CPU architectures as their central components, have become increasingly complex, making application development and optimization quite challenging. In this respect, intuitive performance models like the…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-29 José Morgado , Leonel Sousa , Aleksandar Ilic

The rapid development in computing technology has paved the way for directive-based programming models towards a principal role in maintaining software portability of performance-critical applications. Efforts on such models involve a least…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-04-28 Kazuaki Matsumura , Simon Garcia De Gonzalo , Antonio J. Peña

Microarchitectural code analyzers, i.e., tools that estimate the throughput of machine code basic blocks, are important utensils in the tool belt of performance engineers. Recent tools like llvm-mca, uiCA, and Ithemal use a variety of…

Software Engineering · Computer Science 2022-09-20 Fabian Ritter , Sebastian Hack

Modern microarchitectures are some of the world's most complex man-made systems. As a consequence, it is increasingly difficult to predict, explain, let alone optimize the performance of software running on such microarchitectures. As a…

Performance · Computer Science 2019-03-06 Andreas Abel , Jan Reineke

Prior work on Automatically Scalable Computation (ASC) suggests that it is possible to parallelize sequential computation by building a model of whole-program execution, using that model to predict future computations, and then…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-09-21 Peter Kraft , Amos Waterland , Daniel Y Fu , Anitha Gollamudi , Shai Szulanski , Margo Seltzer

A variety of code analyzers, such as IACA, uiCA, llvm-mca or Ithemal, strive to statically predict the throughput of a computation kernel. Each analyzer is based on its own simplified CPU model reasoning at the scale of a basic block.…

Performance · Computer Science 2024-02-23 Théophile Bastian , Hugo Pompougnac , Alban Dutilleul , Fabrice Rastello

Achieving optimal program performance requires deep insight into the interaction between hardware and software. For software developers without an in-depth background in computer architecture, understanding and fully utilizing modern…

Performance · Computer Science 2018-07-09 Julian Hammer , Jan Eitzinger , Georg Hager , Gerhard Wellein

GPGPU execution analysis has always been tied to closed-source, proprietary benchmarking tools that provide high-level, non-exhaustive, and/or statistical information, preventing a thorough understanding of bottlenecks and optimization…

Hardware Architecture · Computer Science 2024-07-18 Giuseppe M. Sarda , Nimish Shah , Debjyoti Bhattacharjee , Peter Debacker , Marian Verhelst

OpenACC is a high-level directive-based parallel programming model that can manage the sophistication of heterogeneity in architectures and abstract it from the users. The portability of the model across CPUs and accelerators has gained the…

Software Engineering · Computer Science 2022-08-30 A. M. Jarmusch , A. Liu , C. Munley , D. Horta , V. Ravichandran , J. Denny , S. Chandrasekaran

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…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-03 Ayesha Afzal , Georg Hager , Gerhard Wellein

Measuring performance-critical characteristics of application workloads is important both for developers, who must understand and optimize the performance of codes, as well as designers and integrators of HPC systems, who must ensure that…

Software Engineering · Computer Science 2018-11-01 Beau Johnston , Josh Milthorpe

This article raises an important and challenging workload characterization issue: can we uncover each critical component across the stacks contributing what percentages to any specific bottleneck? The typical critical components include…

Performance · Computer Science 2023-02-28 Lei Wang , Kaiyong Yang , Chenxi Wang , Wanling Gao , Chunjie Luo , Fan Zhang , Zhongxin Ge , Li Zhang , Guoxin Kang , Jianfeng Zhan

Predicting the number of clock cycles a processor takes to execute a block of assembly instructions in steady state (the throughput) is important for both compiler designers and performance engineers. Building an analytical model to do so…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-05-31 Charith Mendis , Alex Renda , Saman Amarasinghe , Michael Carbin

In a super-scalar architecture, the scheduler dynamically assigns micro-operations ($\mu$OPs) to execution ports. The port mapping of an architecture describes how an instruction decomposes into $\mu$OPs and lists for each $\mu$OP the set…

Typical schedulers in multi-tenancy environments make use of reactive, feedback-oriented mechanisms based on performance counters to avoid resource contention but suffer from detection lag and loss of performance. In this paper, we address…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-02 Girish Mururu , Sharjeel Khan , Bodhisatwa Chatterjee , Chao Chen , Chris Porter , Ada Gavrilovska , Santosh Pande
‹ Prev 1 2 3 10 Next ›