Cargando…

Modernising ATLAS Software Build Infrastructure

In the last year ATLAS has radically updated its software development infrastructure hugely reducing the complexity of building releases and greatly improving build speed, flexibility and code testing. The first step in this transition was the adoption of CMake as the software build system over the...

Descripción completa

Detalles Bibliográficos
Autores principales: Gaycken, Goetz, Gumpert, Christian, Krasznahorkay, Attila, Lampl, Walter, Moyse, Edward, Obreshkov, Emil, Potamianos, Karolos, Ritsch, Elmar, Stewart, Graeme, Undrus, Alexander, Winklmeier, Frank
Lenguaje:eng
Publicado: 2017
Materias:
Acceso en línea:http://cds.cern.ch/record/2278185
_version_ 1780955355581251584
author Gaycken, Goetz
Gumpert, Christian
Krasznahorkay, Attila
Lampl, Walter
Moyse, Edward
Obreshkov, Emil
Potamianos, Karolos
Ritsch, Elmar
Stewart, Graeme
Undrus, Alexander
Winklmeier, Frank
author_facet Gaycken, Goetz
Gumpert, Christian
Krasznahorkay, Attila
Lampl, Walter
Moyse, Edward
Obreshkov, Emil
Potamianos, Karolos
Ritsch, Elmar
Stewart, Graeme
Undrus, Alexander
Winklmeier, Frank
author_sort Gaycken, Goetz
collection CERN
description In the last year ATLAS has radically updated its software development infrastructure hugely reducing the complexity of building releases and greatly improving build speed, flexibility and code testing. The first step in this transition was the adoption of CMake as the software build system over the older CMT. This required the development of an automated translation from the old system to the new, followed by extensive testing and improvements. This resulted in a far more standard build process that was married to the method of building ATLAS software as a series of 12 separate projects from SVN. We then proceeded with a migration of its code base from SVN to git. As the SVN repository had been structured to manage each package more or less independently there was no simple mapping that could be used to manage the migration into git. Instead a specialist set of scripts that captured the software changes across official software releases was developed. With some clean up of the repository and the policy of only migrating packages in production releases, we managed to reduce the repository size from 62GB to 220MB. After moving to git we took the opportunity to introduce continuous integration so that now each code change from developers is built and tested before being approved. With both CMake and git in place we also dramatically simplified the build management of ATLAS software. Many heavyweight homegrown tools were dropped and the build procedure was reduced to a single bootstrap of some external packages, followed by a full build of the rest of the stack. This has reduced the time for a build by a factor of 2. It is now easy to build ATLAS software, freeing developers to test compile intrusive changes or new platform ports with ease. We have also developed a system to build lightweight ATLAS releases, for simulation, analysis or physics derivations which can be built from the same branch.
id cern-2278185
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2017
record_format invenio
spelling cern-22781852019-09-30T06:29:59Zhttp://cds.cern.ch/record/2278185engGaycken, GoetzGumpert, ChristianKrasznahorkay, AttilaLampl, WalterMoyse, EdwardObreshkov, EmilPotamianos, KarolosRitsch, ElmarStewart, GraemeUndrus, AlexanderWinklmeier, FrankModernising ATLAS Software Build InfrastructureParticle Physics - ExperimentIn the last year ATLAS has radically updated its software development infrastructure hugely reducing the complexity of building releases and greatly improving build speed, flexibility and code testing. The first step in this transition was the adoption of CMake as the software build system over the older CMT. This required the development of an automated translation from the old system to the new, followed by extensive testing and improvements. This resulted in a far more standard build process that was married to the method of building ATLAS software as a series of 12 separate projects from SVN. We then proceeded with a migration of its code base from SVN to git. As the SVN repository had been structured to manage each package more or less independently there was no simple mapping that could be used to manage the migration into git. Instead a specialist set of scripts that captured the software changes across official software releases was developed. With some clean up of the repository and the policy of only migrating packages in production releases, we managed to reduce the repository size from 62GB to 220MB. After moving to git we took the opportunity to introduce continuous integration so that now each code change from developers is built and tested before being approved. With both CMake and git in place we also dramatically simplified the build management of ATLAS software. Many heavyweight homegrown tools were dropped and the build procedure was reduced to a single bootstrap of some external packages, followed by a full build of the rest of the stack. This has reduced the time for a build by a factor of 2. It is now easy to build ATLAS software, freeing developers to test compile intrusive changes or new platform ports with ease. We have also developed a system to build lightweight ATLAS releases, for simulation, analysis or physics derivations which can be built from the same branch.ATL-SOFT-SLIDE-2017-650oai:cds.cern.ch:22781852017-08-10
spellingShingle Particle Physics - Experiment
Gaycken, Goetz
Gumpert, Christian
Krasznahorkay, Attila
Lampl, Walter
Moyse, Edward
Obreshkov, Emil
Potamianos, Karolos
Ritsch, Elmar
Stewart, Graeme
Undrus, Alexander
Winklmeier, Frank
Modernising ATLAS Software Build Infrastructure
title Modernising ATLAS Software Build Infrastructure
title_full Modernising ATLAS Software Build Infrastructure
title_fullStr Modernising ATLAS Software Build Infrastructure
title_full_unstemmed Modernising ATLAS Software Build Infrastructure
title_short Modernising ATLAS Software Build Infrastructure
title_sort modernising atlas software build infrastructure
topic Particle Physics - Experiment
url http://cds.cern.ch/record/2278185
work_keys_str_mv AT gayckengoetz modernisingatlassoftwarebuildinfrastructure
AT gumpertchristian modernisingatlassoftwarebuildinfrastructure
AT krasznahorkayattila modernisingatlassoftwarebuildinfrastructure
AT lamplwalter modernisingatlassoftwarebuildinfrastructure
AT moyseedward modernisingatlassoftwarebuildinfrastructure
AT obreshkovemil modernisingatlassoftwarebuildinfrastructure
AT potamianoskarolos modernisingatlassoftwarebuildinfrastructure
AT ritschelmar modernisingatlassoftwarebuildinfrastructure
AT stewartgraeme modernisingatlassoftwarebuildinfrastructure
AT undrusalexander modernisingatlassoftwarebuildinfrastructure
AT winklmeierfrank modernisingatlassoftwarebuildinfrastructure