Thus it was deemed useful to have a library development group speci cally responsive to Run II needs. If despite the transition each experiment (and sometimes multiple groups within an experiment) were to develop each needed mod- ule, the C++ strategy would not be advantageous. The run is slated to start in 1.5 years, an aggressive time frame for a major change in development language and style. Several years ago, the two major collider experiments at Fermilab (D and CDF) decided that new software development for Run II will be largely done in C++. Here, we will also describe our recent work to use a CMake build system and Jenkins, the open source continuous integration system, for NOASoft. In this paper, we present efforts towards distributing the NO$$\nu$$A software via the CernVM File System distributed file system. The system provides software version control with SVN configured in a client-server more » mode and is based on the code originally developed by the BaBar collaboration. The software builds are handled by Fermilab's custom version of Software Release Tools (SRT), a UNIX based software management system for large, collaborative projects that is used by several experiments at Fermilab. NO$$\nu$$ASoft makes use of more than 50 external software packages, is developed by more than 50 developers and is used by more than 100 physicists from over 30 universities and laboratories in 3 continents. The NO$$\nu$$A software (NO$$\nu$$ASoft) is written in C++, and built on the Fermilab Computing Division's art framework that uses ROOT analysis software. The cooperative maintenance and management of SoftRelTools, led by the Fermilab computing division with the active participation of CDF, D0, BTeV and CMS, is discussed as a model for the sharing of common tools in High Energy Physics. D0's use is similar to CDF, and the system is just beginning to be used by CMS. At CDF it has been used by roughly 30 developers to make over a dozen frozen releases of a million lines of software. This system has been used since January 1997 by CDF, D0 and BTeV for the development and release of software for the next run of the Tevatron Collider. Daily rebuilds of all the software, along with automatic mailings of build errors to developers, test robustness and allow speedy integration. A distinguishing feature of the system is more » its ability to allow rapid asynchronous development of package versions, which can be easily integrated into complete consistent releases of the entire o ine software. A single executable can call routines written in all three languages. This system handles the version control, management, building, and distri- bution of code written in Fortran, C, and C++. Although primarily intended for UNIX platforms, in- cluding Linux, the system is also supported for Windows NT by D0. At CDF the development version of the software is also distributed daily and built in place on 18 di erent machines, with new machines added weekly. Distribution of frozen releases is currently handled by internally developed scripts, but will soon be performed by Unix Product Distribution (UPD). Unix Product Support (UPS) is used to initialize environmental variables for multiple versions of software on multiple platforms. Support for SoftRelTools, the heart of the system, is organized by the Fermilab computing division in close communication with the end users: CDF, D0, BTeV and CMS. Management and building of software is provided by Software Release Tools (SoftRelTools) originally developed by the BaBar collaboration. The system provides software version control with Con- current Versions System (CVS) con gured in a client-server mode. We describe the structure and performance of a software management system in wide use at Fermilab.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |