15th International Workshop on Advanced Computing and Analysis Techniques in Physics Research | |
Optimizing ATLAS code with different profilers | |
物理学;计算机科学 | |
Kama, S.^1 ; Seuster, R.^2 ; Stewart, G.A.^3 ; Vitillo, R.A.^4 | |
Southern Methodist University, Dallas, TX, United States^1 | |
TRIUMF, Vancouver, BC V6T 2A3, Canada^2 | |
CERN and School of Physics and Astronomy, University of Glasgow, Glasgow G12 8QQ, United Kingdom^3 | |
Lawrence Berkeley National Laboratory, United States^4 | |
关键词: Dynamic binary instrumentation; Energy collisions; Hardware performance; Instruction counts; Maintenance periods; Memory bandwidths; Performance improvements; Performance tools; | |
Others : https://iopscience.iop.org/article/10.1088/1742-6596/523/1/012036/pdf DOI : 10.1088/1742-6596/523/1/012036 |
|
学科分类:计算机科学(综合) | |
来源: IOP | |
【 摘 要 】
After the current maintenance period, the LHC will provide higher energy collisions with increased luminosity. In order to keep up with these higher rates, ATLAS software needs to speed up substantially. However, ATLAS code is composed of approximately 6M lines, written by many different programmers with different backgrounds, which makes code optimisation a challenge. To help with this effort different profiling tools and techniques are being used. These include well known tools, such as the Valgrind suite and Intel Amplifier; less common tools like Pin, PAPI, and GOoDA; as well as techniques such as library interposing. In this paper we will mainly focus on Pin tools and GOoDA. Pin is a dynamic binary instrumentation tool which can obtain statistics such as call counts, instruction counts and interrogate functions' arguments. It has been used to obtain CLHEP Matrix profiles, operations and vector sizes for linear algebra calculations which has provided the insight necessary to achieve significant performance improvements. Complimenting this, GOoDA, an in-house performance tool built in collaboration with Google, which is based on hardware performance monitoring unit events, is used to identify hot-spots in the code for different types of hardware limitations, such as CPU resources, caches, or memory bandwidth. GOoDA has been used in improvement of the performance of new magnetic field code and identification of potential vectorization targets in several places, such as Runge-Kutta propagation code.
【 预 览 】
Files | Size | Format | View |
---|---|---|---|
Optimizing ATLAS code with different profilers | 909KB | download |