Cargando…

Optimizing ATLAS code with different profilers

After the current maintenance period, the LHC will provide higher\nenergy collisions with increased luminosity. In order to keep up with\nthese higher rates, ATLAS software needs to speed up\nsubstantially. However, ATLAS code is composed of approximately 6M\nlines, written by many different program...

Descripción completa

Detalles Bibliográficos
Autores principales: Kama, S, Seuster, R, Stewart, A G, Vitillo, A R
Lenguaje:eng
Publicado: 2013
Materias:
Acceso en línea:https://dx.doi.org/10.1088/1742-6596/523/1/012036
http://cds.cern.ch/record/1601771
_version_ 1780931479845470208
author Kama, S
Seuster, R
Stewart, A G
Vitillo, A R
author_facet Kama, S
Seuster, R
Stewart, A G
Vitillo, A R
author_sort Kama, S
collection CERN
description After the current maintenance period, the LHC will provide higher\nenergy collisions with increased luminosity. In order to keep up with\nthese higher rates, ATLAS software needs to speed up\nsubstantially. However, ATLAS code is composed of approximately 6M\nlines, written by many different programmers with different\nbackgrounds, which makes code optimisation a challenge. To help with\nthis effort different profiling tools and techniques are being\nused. These include well known tools, such as the Valgrind suite and\nIntel Amplifier; less common tools like Pin, PAPI, and GOoDA; as well\nas techniques such as library interposing. In this paper we will\nmainly focus on Pin tools and GOoDA. Pin is a dynamic binary\ninstrumentation tool which can obtain statistics such as call counts,\ninstruction counts and interrogate functions' arguments. It has been\nused to obtain CLHEP Matrix profiles, operations and vector sizes for\nlinear algebra calculations which has provided the insight necessary\nto achieve significant performance improvements. Complimenting this,\nGOoDA, an in-house performance tool built in collaboration with\nGoogle, which is based on hardware performance monitoring unit events,\nis used to identify hot-spots in the code for different types of\nhardware limitations, such as CPU resources, caches, or memory\nbandwidth. GOoDA has been used in improvement of the performance of\nnew magnetic field code and identification of potential vectorization\ntargets in several places, such as Runge-Kutta propagation code.
id cern-1601771
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2013
record_format invenio
spelling cern-16017712019-09-30T06:29:59Zdoi:10.1088/1742-6596/523/1/012036http://cds.cern.ch/record/1601771engKama, SSeuster, RStewart, A GVitillo, A ROptimizing ATLAS code with different profilersDetectors and Experimental TechniquesAfter the current maintenance period, the LHC will provide higher\nenergy collisions with increased luminosity. In order to keep up with\nthese higher rates, ATLAS software needs to speed up\nsubstantially. However, ATLAS code is composed of approximately 6M\nlines, written by many different programmers with different\nbackgrounds, which makes code optimisation a challenge. To help with\nthis effort different profiling tools and techniques are being\nused. These include well known tools, such as the Valgrind suite and\nIntel Amplifier; less common tools like Pin, PAPI, and GOoDA; as well\nas techniques such as library interposing. In this paper we will\nmainly focus on Pin tools and GOoDA. Pin is a dynamic binary\ninstrumentation tool which can obtain statistics such as call counts,\ninstruction counts and interrogate functions' arguments. It has been\nused to obtain CLHEP Matrix profiles, operations and vector sizes for\nlinear algebra calculations which has provided the insight necessary\nto achieve significant performance improvements. Complimenting this,\nGOoDA, an in-house performance tool built in collaboration with\nGoogle, which is based on hardware performance monitoring unit events,\nis used to identify hot-spots in the code for different types of\nhardware limitations, such as CPU resources, caches, or memory\nbandwidth. GOoDA has been used in improvement of the performance of\nnew magnetic field code and identification of potential vectorization\ntargets in several places, such as Runge-Kutta propagation code.ATL-SOFT-PROC-2013-003oai:cds.cern.ch:16017712013-09-18
spellingShingle Detectors and Experimental Techniques
Kama, S
Seuster, R
Stewart, A G
Vitillo, A R
Optimizing ATLAS code with different profilers
title Optimizing ATLAS code with different profilers
title_full Optimizing ATLAS code with different profilers
title_fullStr Optimizing ATLAS code with different profilers
title_full_unstemmed Optimizing ATLAS code with different profilers
title_short Optimizing ATLAS code with different profilers
title_sort optimizing atlas code with different profilers
topic Detectors and Experimental Techniques
url https://dx.doi.org/10.1088/1742-6596/523/1/012036
http://cds.cern.ch/record/1601771
work_keys_str_mv AT kamas optimizingatlascodewithdifferentprofilers
AT seusterr optimizingatlascodewithdifferentprofilers
AT stewartag optimizingatlascodewithdifferentprofilers
AT vitilloar optimizingatlascodewithdifferentprofilers