English
Related papers

Related papers: Using hardware performance counters to speed up au…

200 papers

In recent years graphical processing units (GPUs) have become a powerful tool in scientific computing. Their potential to speed up highly parallel applications brings the power of high performance computing to a wider range of users.…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-04-26 Uldis Locans , Andreas Adelmann , Andreas Suter , Jannis Fischer , Werner Lustermann , Gunther Dissertori , Qiulin Wang

Profile-Guided Optimization (PGO) is an excellent means to improve the performance of a compiled program. Indeed, the execution path data it provides helps the compiler to generate better code and better cacheline packing. At the time of…

Programming Languages · Computer Science 2014-11-25 Baptiste Wicht , Roberto A. Vitillo , Dehao Chen , David Levinthal

The paper combines research approaches that traditionally have been disjoint: 1) model checking as used in formal verification of programs, and 2) auto-tuning as often used in high-performance computing. Auto-tuning frameworks optimize…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-17 Natalia Garanina , Sergey Staroletov , Sergei Gorlatch

To automatically tune configurations for the best possible system performance (e.g., runtime or throughput), much work has been focused on designing intelligent heuristics in a tuner. However, existing tuner designs have mostly ignored the…

Software Engineering · Computer Science 2025-09-30 Gangda Xiong , Tao Chen

We propose an online auto-tuning approach for computing kernels. Differently from existing online auto-tuners, which regenerate code with long compilation chains from the source to the binary code, our approach consists on deploying…

Performance · Computer Science 2017-07-17 Fernando Endo , Damien Couroussé , Henri-Pierre Charles

Performance portability is a major concern on current architectures. One way to achieve it is by using autotuning. In this paper, we are presenting how we exten ded a just-in-time compilation infrastructure to introduce autotuning…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-13 Elian Morel , Camille Coti

Many studies have focused on developing and improving auto-tuning algorithms for Nvidia Graphics Processing Units (GPUs), but the effectiveness and efficiency of these approaches on AMD devices have hardly been studied. This paper aims to…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-07-17 Milo Lurati , Stijn Heldens , Alessio Sclocco , Ben van Werkhoven

Numerical software is usually shipped with built-in hyperparameters. By carefully tuning those hyperparameters, significant performance enhancements can be achieved for specific applications. We developed MindOpt Tuner, a new automatic…

Mathematical Software · Computer Science 2023-07-18 Mengyuan Zhang , Wotao Yin , Mengchang Wang , Yangbin Shen , Peng Xiang , You Wu , Liang Zhao , Junqiu Pan , Hu Jiang , KuoLing Huang

Autotuning is an established technique for optimizing the performance of parallel applications. However, programmers must prepare applications for autotuning, which is tedious and error prone coding work. We demonstrate how applications…

Software Engineering · Computer Science 2014-05-14 Thomas Karcher , Christopher Guckes , Walter F. Tichy

For scientific software, especially those used for large-scale simulations, achieving good performance and efficiently using the available hardware resources is essential. It is important to regularly perform benchmarks to ensure the…

This article presents an automatic approach to quickly derive a good solution for hardware resource partition and task granularity for task-based parallel applications on heterogeneous many-core architectures. Our approach employs a…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-03-10 Peng Zhang , Jianbin Fang , Canqun Yang , Chun Huang , Tao Tang , Zheng Wang

Accurate hardware performance models are critical to efficient code generation. They can be used by compilers to make heuristic decisions, by superoptimizers as a minimization objective, or by autotuners to find an optimal configuration for…

Finding the best configuration of algorithms' hyperparameters for a given optimization problem is an important task in evolutionary computation. We compare in this work the results of four different hyperparameter tuning approaches for a…

Neural and Evolutionary Computing · Computer Science 2022-03-18 Furong Ye , Carola Doerr , Hao Wang , Thomas Bäck

GPUs are used for training, inference, and tuning the machine learning models. However, Deep Neural Network (DNN) vary widely in their ability to exploit the full power of high-performance GPUs. Spatial sharing of GPU enables multiplexing…

Neural and Evolutionary Computing · Computer Science 2020-08-11 Aditya Dhakal , Junguk Cho , Sameer G. Kulkarni , K. K. Ramakrishnan , Puneet Sharma

Multi-core architectures can be leveraged to allow independent processes to run in parallel. However, due to resources shared across cores, such as caches, distinct processes may interfere with one another, e.g. affecting execution time.…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-09-17 Dan Iorga , Tyler Sorensen , Alastair F. Donaldson

Black-box optimization is essential for tuning complex machine learning algorithms which are easier to experiment with than to understand. In this paper, we show that a simple ensemble of black-box optimization algorithms can outperform any…

Machine Learning · Computer Science 2021-08-03 Jiwei Liu , Bojan Tunguz , Gilberto Titericz

Virtual screening applications are highly parameterized to optimize the balance between quality and execution performance. While output quality is critical, the entire screening process must be completed within a reasonable time. In fact, a…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-22 Bruno Guindani , Davide Gadioli , Roberto Rocco , Danilo Ardagna , Gianluca Palermo

Parallel computing is a standard approach to achieving high-performance computing (HPC). Three commonly used methods to implement parallel computing include: 1) applying multithreading technology on single-core or multi-core CPUs; 2)…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-18 Xinyao Yi

Recent advances in multi and many-core processors have led to significant improvements in the performance of scientific computing applications. However, the addition of a large number of complex cores have also increased the overall power…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-02-23 Akash Dutta , Jee Choi , Ali Jannesari

The process of optimizing the latency of DNN operators with ML models and hardware-in-the-loop, called auto-tuning, has established itself as a pervasive method for the deployment of neural networks. From a search space of…

Machine Learning · Computer Science 2022-06-01 Dennis Rieber , Moritz Reiber , Oliver Bringmann , Holger Fröning