- jeromel's home page
- Posts
- 2020
- 2019
- 2018
- 2017
- 2016
- 2015
- December (1)
- November (1)
- October (2)
- September (1)
- July (2)
- June (1)
- March (3)
- February (1)
- January (1)
- 2014
- 2013
- 2012
- 2011
- 2010
- December (2)
- November (1)
- October (4)
- August (3)
- July (3)
- June (2)
- May (1)
- April (4)
- March (1)
- February (1)
- January (2)
- 2009
- December (3)
- October (1)
- September (1)
- July (1)
- June (1)
- April (1)
- March (4)
- February (6)
- January (1)
- 2008
- My blog
- Post new blog entry
- All blogs
SL6, gcc 4.8.2 testing and progress
Updated on Tue, 2015-09-29 09:30. Originally created by jeromel on 2015-07-14 10:01.
[Albeit the status of remote facilities is unclear, this deployment was completed on time without major issues]
This blog documents the path toward a new ROOT and new compiler version for STAR. The tasks are inter-dependent as we would like to
A few steps are described below:
[Albeit the status of remote facilities is unclear, this deployment was completed on time without major issues]
This blog documents the path toward a new ROOT and new compiler version for STAR. The tasks are inter-dependent as we would like to
- Release new coding references in light of new C++ standards and langage constructs - 2015/06/24
- Make and release a stable library version reference - 2014/07/14
- Test the reference lirbrary under on a node where a new compiler is installed and make sure it is validated + test lib with patch and see if it works (mixed compilation) - this would be testing backward compatibility of code.
- Test with a new ROOT version (under the old same compiler)
- Test the reference library with the new ROOT version and the new compiler
- Call one off-BNL site to verify all works for forward compatiblity
- Switch the environment at BNL to the new gcc (i.e. farm upgrade and rebuild). Since the compiler should be forward/backward compatible, a rebuild can be incremental (least disruptions).
- Give the green light to move (+ declare SL5 env with older compiler dead)
A few steps are described below:
- Mid 2014, discussed migration forward ...
- 2014/07 - cons modified to account for compiling with a new compiler and swicthing to C++11 syntax. Idea is to swicth C++ "standard" as soon as gcc 4.4 .
- 2014/07 - C++11 compiler tested by some software cooridnators - based on those who tested an older version (4.4.7 with the compitler option std=c++0x) - received only couple feedback from the EMC2 team and the HLT coordinator.
- Discussed compiler to be used early 2015 - requested from the RACF.
Both SL5 and SL6 requested.
The decision was to go with 4.8.2 from devtoolset (or re-packaged) as the compiler would be forward and backward compatible (providing only the special 4.8.2 compier i used) and SL7.0 is released with 4.8.2 by default )making a possible SL7 transition easier). Compatibility is important to make sure we can recompile old libraries (Embedding for example) and have the resulting exe/.so run on older systems. Compatibility with SL7 would extend lifetime of our code.
Choice of gcc was explained and presented in numerous S&C meetings (mostly as AOB).
- 2015/03/10 - Moved forward. Compiler installed on rplay18 (SL6) and rplay15 (SL5) as devtoolset - upon testing, the use of "scl" seemed to cause issues with some installer. We repackaged the compiler and deployed in /opt/gcc instead - this showed to work fine but installed in /opt/gcc, it was still not suitable for installation of OPTSTAR. Requested to install again as "default compiler" (i.e. in /usr/bin etc ...).
- Realized cart/horse issue - new C++11 coding standard for STAR are needed.
Moving to the new compiler opens the door for C++11 syntax and having rules prior not only seemed like a needed step but an opportunity to revamp our 20 years coding standards.- 2014/10/31 - Assembled a commitee to deliver new standards. Thomas Ullrich as chair. Charges C++11 and STAR coding standard commitee charges. Draft report expected mid-December.
- 2014/12/01 - delays notice from chair.
- 2015/03 - Draft deliverred and passed to core team members for comments (Dmitry, Dmitri, Victor, ...) + ROOT tema meber + 1 member of the ISO standard commitee member
- 2015/04 - second iteration from the commitee incorporated the feedback and concerns. New document deliverred.
- 2015/05 - passed to the software coordinators for comments. Gave June 6th as deadline (reminder here).
- 2015/06 - No feedback from software cooridnators, released the document to STAR for comments. Gave 2 weeks feedback.
- 2015/06/24 - Feedback period closed. New standards adopted. Asked the commitee for final version (received on the same day of the closing announcement / some minor formatting issues exsist but could be fixed later). [X]
- 2015/06/29 - Got back to the RCF again, requested the compiler to not be in /opt/gcc nor within the devstooolset directory tree but as default compiler. Still some interaction with the envrionemtn detected.
- 2015/07/10 - Opened node to software coodinators who asked + a few more + core team members who asked. Recommended NOT to use scl command (i.e. not to use "scl enable devtoolset-2 tcsh" from devtoolset) as this confuses some installer as previously noted.
- General
- 07/21 Several makers removed from "dev" to simplify the work - HbtMaker, FlowMaker, FlowAnalysisMaker and the StrangeMuDstMaker (work was done before to wrap code with pre-compiler directive to include/exclude code - time to clean-up and make that jump has arrived)
- ...
- New GCC
- 07/10 - Noted missing link (Dmitry) and fixed. Noticed one more issue with the isntalllation fixed the same day. Db code compilation confirmed (Dmitry).
- 07/13 - PicoDST code confirmed compiling (Mustafa).
- 07/14 - SL15g library, our base reference library, is released [X]. Validation was pending due to HFT/SST/Sti related code issues which made the initial target date for evaluation, end of June, to be missed (date shifted due to V-days).
More inconsistencies found but not compiler related (Hongwei) - decision is to rebuild the node and make sure all is fine from a fresh build. - 07/15 Two test jobs from SL15g being run - first sign we have identical results and first backward compatibility test done (one more needs to be done).
- 07/16 Node rebuilt, seems to be fine with all needed features.
- 07/20 Daily AutoBuild established (rather than a manual one) to help coordinators to converge.
- 07/21 Feedback from coordinator points at the old __TIME__ and __DATE__ issues (some fixed a while back).
- ...
- New ROOT
- 07/17 ROOT 5.34.30 released for testing - one problem with TGeant reported to Victor. Fixed by Jason 07/21.
- 07/20 Fedback on Vc by Fisyak - there may be an issue with format compatibility as per distributed by ROOT (TBC). This will be addressed in the _1 STAR patched version at a later time (already pre-compiled with the same option, will include patches as more feedback will come).
- 07/21 "dev' compilation tested against ROOT 5.34.30 release - plan is different than the usual procedure: will create/test SL15h with the new ROOT release and if validates, will release "dev" with the new ROOT version and move on.
- 07/22 SL15h library being assembled.
- ...
»
- jeromel's blog
- Login or register to post comments