GlueX Offline Meeting, March 18, 2015

From GlueXWiki
Revision as of 09:54, 1 April 2015 by Marki (Talk | contribs) (GlueX Use of C++11 features and GCC Versions)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

GlueX Offline Software Meeting
Wednesday, March 18, 2015
1:30 pm EDT
JLab: CEBAF Center F326/327


  1. Announcements
    1. /group/halld quota raised from 300GB to 400GB
    2. ANALYSIS Library: Histograms and Custom ROOT Branches
    3. New release: sim-recon-1.0.0
  2. Review of minutes from March 4 (all)
  3. Offline Monitoring Report (Kei)
  4. Commissioning-branch-to-trunk migration (Simon/Mark)
  5. Summary of meeting with SciComp
    1. SWIF
    2. Write-Through Cache (20 TB available now)
  6. GlueX use of C++-11 features and GCC versions (Dmitry)
    1. GCC at JLab, March 2015
    2. C++0x/C++11 Support in GCC
  7. Version numbers versus version dates
  8. Action Item Review

Communication Information

Remote Connection


Talks can be deposited in the directory /group/halld/www/halldweb/html/talks/2015 on the JLab CUE. This directory is accessible from the web at .



  • CMU: Curtis Meyer
  • JLab: Alex Barnes, Mark Ito (chair), David Lawrence, Paul Mattione, Kei Moriya, Eric Pooser, Mike Staib, Justin Stevens
  • NU: Sean Dobbs


  • At JLab, the quota on /group/halld was raised from 300 GB to 400 GB.
  • Paul Mattione has checked in changes to the Analysis Library to add support for histograms and custom ROOT branches. See his email for details.
  • Mark packaged a new release of sim-recon, version 1.0.0. See his email for details. We discussed the new version numbering scheme. Not everyone loves it, but there were no strong objections.

Review of Minutes from March 4

We looked at the minutes.

Intel Code Validation Tools

We briefly discussed access to the Intel code validation tools discussed last time. At present they are not available for general use at JLab, though that may change. Mike Staib has been using an educational version, Paul Mattione is working on a 30-day free trial.

Commissioning-Branch-to-Trunk Migration

The copy of the commissioning branch of sim-recon on to the trunk was done Friday, March 6. Mark reported that he and Simon had some problems doing a best-practices-type merge of the branch to the trunk. It was unclear how to resolve all of the resulting conflicts. Instead the trunk was deleted and the branch copied to the trunk location. History on the branch was preserved, including history from before the branch. So far, no problems with this procedure have been reported.

Offline Monitoring Report

Kei reported that there have been a number of issues delaying the launch.

  • We upgraded to a new version of ROOT to fix memory leaks in the FFT package that we never call.
  • Paul and Nathan Sparks worked on a bug fix that caused crashes at the exit of hd_root jobs when certain combinations of plug-ins are run. They traced it to some global STL containers in one of the static libraries.
  • The current set of code is crashing for reasons to be investigated.

Summary of meeting with SciComp

Last week SciComp called a meeting to discuss new features with us. In attendance were Mark, David, Kei, Justin, and Paul.

  1. Chris Larrieu gave a presentation/demo of SWIF. We plan to adopt the farm handling scripts we have been using for data challenges and offline monitoring to take advantage of this system, though work in that direction has not started yet.
  2. Ying Chen showed slide on the new Write-Through Cache. Files written to the this disk will be archived to tape after two weeks. When space gets short, files that have been archived will be deleted to make space for new files. There is a minimum size requirement of 3 MB for a file to be archived. 20 TB of space on this device is now available to us.

GlueX Use of C++11 features and GCC Versions

Dmitry had privately discussed with Mark the idea of using C++11 features in our offline code. We have not explicitly endorsed or prohibited such use, but Mark thought we should discuss it. He showed a table of GCC compilers used on systems around the Lab. If possible, it looks for now that we do not want to use any language features that are not available in the 4.4 series compiler. Dmitry was particularly interested in using [ pointers. He claims that they are available in 4.4.

The GCC page on these features raises some flags, notably

  1. "experimental" in GCC, i. e., no guarantee that all behavior of these features preserved in future versions.
  2. possibility of the need for special compiler flags to access these features.

Concern was raised by these items. We did not have an expert on hand.

One approach would be to simply wait until all of our commonly used systems catch up to, say, version 4.8 or greater. The only problem with that is that it might be a long time coming and meanwhile we lose the benefit of the new features which are standard for a lot of developers outside of GlueX.

David suggested that Dmitry try some of the features he is interested and see if behavior is different when using a 4.4 compiler versus a 4.8 or 4.9 compiler. That would help us decide how to proceed.