Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move to ROOT pre-6.06 (almost final) #2023

Merged
merged 5 commits into from
Dec 9, 2015

Conversation

davidlt
Copy link
Contributor

@davidlt davidlt commented Dec 8, 2015

This is a move to ROOT pre-6.06 (almost final, ROOT commit: 1f31574810df80153353b50167ceb868b520edc5).

Tested on slc6_amd64_gcc493 up to root-toolfile.

David Abdurachmanov added 4 commits December 8, 2015 16:55
On OS X we explicitly disable `libAfterImage`. In that case we need to
provide PNG, JPEG, TIFF and GIF libraries as replacement. Without GIF
library a built in `libAfterImage` is re-enabled back.

There is 5.X version of giflib, but currently Fedora is sticking with
4.X due to ABI/API differences (not investigated further).

Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
Tested-on: slc6_amd64_gcc491
Tested-on: fc19_aarch64_gcc490
Tested-on: osx10A_amd64_clang610
TTreeCache is now on by default. This creates a problem on GEN-SIM jobs
(e.g., 135.4, 5.1). E.g., 135.4 opens 162 ROOT files (not via CMSSW
TFile wrappers) from `FastSimulation/MaterialEffects` data package.

Then `NuclearInteractionSimulator::compute` calls `TTree::GetEntry(long
long, int)`, which calls `TTree::SetCacheSizeAux(bool, long long)`, then
`TTreeCache` is finally created for `TTree`.

This yields almost 400MB extra memory allocations per process lifetime.
The patch should lower peak RSS by ~150MB on 135.4.

To re-enabled behavior like in ROOT5, `ROOT_TTREECACHE_SIZE` and
`ROOT_TTREECACHE_PREFILL` must be set 0 via environment variables or via
`rootrc` file.

For detaill look at ROOT6 commit (cf7cc4b2) and

    https://root.cern.ch/root/html604/notes/release-notes.html#ttreecache

Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
Upda ROOT to pre-final 6.06. The following moves from old JIT to OrcJIT
interface, thus allows multiple new architectures to be used, in
particular aarch64 and ppc64le (POWER8/9).

TFormula was almost rewritten to use Cling.

Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 8, 2015

A new Pull Request was created by @davidlt for branch IB/CMSSW_8_0_X/stable.

@cmsbuild, @smuzaffar, @Degano, @iahmad-khan, @davidlange6 can you please review it and eventually sign? Thanks.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.

@smuzaffar
Copy link
Contributor

@davidlt , @holzman , I guess we are missing cms-sw/root#108 for root 6.06 ...right?

@davidlt
Copy link
Contributor Author

davidlt commented Dec 8, 2015

Yes, I guess, this applies fine. I can add this on top.

Add 'TS3WebFile - add support for session keys' commit which is
missing in upstream ROOT.

Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 8, 2015

Pull request #2023 was updated.

@davidlt
Copy link
Contributor Author

davidlt commented Dec 8, 2015

Updated. One commit is already upstreamed, the only missing part in 6.06 seems to be 'TS3WebFile - add support for session keys'. That's the only one I cherry picked.

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 9, 2015

-1
Tested at: dacb52c
I found an error when building:

>> Building edm plugin tmp/slc6_amd64_gcc493/src/CalibMuon/CSCCalibration/test/CSCChipSpeedCorrectionPopConAnalyzer/libCSCChipSpeedCorrectionPopConAnalyzer.so
Leaving library rule at src/CalibMuon/CSCCalibration/test
@@@@ Running edmWriteConfigs for RecoParticleFlowPFClusterShapeProducerPlugins
Leaving library rule at src/CalibMuon/CSCCalibration/test
>> Building edm plugin tmp/slc6_amd64_gcc493/src/RecoParticleFlow/Configuration/test/BlockAnalyzer/libBlockAnalyzer.so
error: edmWriteConfigs caught an exception while loading a plugin library.
The executable will return success (0) so scram will continue,
but no cfi files will be written.
An exception of category 'PluginLibraryLoadError' occurred.
Exception Message:
unable to load /build/cmsbuild/jenkins-workarea/workspace/cmsdist-cmssw-test-pr/CMSSW_8_0_X_2015-12-07-1100/tmp/slc6_amd64_gcc493/src/RecoParticleFlow/PFClusterShapeProducer/plugins/RecoParticleFlowPFClusterShapeProducerPlugins/libRecoParticleFlowPFClusterShapeProducerPlugins.so because /afs/cern.ch/cms/sw/ReleaseCandidates/vol0/slc6_amd64_gcc493/cms/cmssw/CMSSW_8_0_X_2015-12-06-2300/lib/slc6_amd64_gcc493/libDataFormatsParticleFlowReco.so: undefined symbol: _ZN4ROOT14DefineBehaviorEPvS0_


you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-2023/8/summary.html

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
cms-sw/cmssw@ec5722e
cms-sw/cmssw@9a0765e
cms-sw/cmssw@798f2ac
cms-sw/cmssw@5c9d0a8
cms-sw/cmssw@1a5e3dd
cms-sw/cmssw@215912e
cms-sw/cmssw@239b1de
cms-sw/cmssw@ebeb0b1
cms-sw/cmssw@20964d6
cms-sw/cmssw@f8ef215
You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-2023/8/git-log-recent-commits
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-2023/8/git-merge-result

@smuzaffar
Copy link
Contributor

local tests done by @davidlt looks good.

smuzaffar added a commit that referenced this pull request Dec 9, 2015
Move to ROOT pre-6.06 (almost final)
@smuzaffar smuzaffar merged commit 8a3ad0a into IB/CMSSW_8_0_X/stable Dec 9, 2015
@smuzaffar smuzaffar deleted the root-pre-6.06-move branch March 9, 2016 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants