GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Share the scaled TPC distortions between digitizers through a file by sawenzel · Pull Request #16091 · AliceO2Group/AliceO2

Conversation

@sawenzel

@sawenzel sawenzel commented Nov 9, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator

This PR adds the option --tpc-distortion-file to the TPC digitizer, so that the distortions scaled to the instantaneous luminosity are computed only once per job.

With distortion type 2, every digitizer lane recalculates the scaled distortions from the CCDB maps in every timeframe. In Pb-Pb this takes about 3 minutes of CPU per lane and timeframe and, together with the correction maps it needs, more than 1 GB of memory per lane.

With the option, the first digitizer computes the scaled distortions and writes them to the file; the other lanes and the later timeframes of the job read it in under a second. The file is keyed on the ETags of the two CCDB maps, TPCCorrMap.lumiInst and the mean-luminosity overrides, and a lock file makes sure that only one process computes. In addition, the correction maps are now released after the recalculation, since only the distortions are used for the digitization.

The effect for one Pb-Pb timeframe (run 572106) with 8 lanes:

peak PSS wall time
before 15.1 GiB 216 s
corrections released, no file 11.9 GiB 221 s
with file, first timeframe (computed with 8 threads) 11.0 GiB 77 s
with file, later timeframes 10.8 GiB 48 s

Note that the digits do not change: with and without the file they are identical to those of the current digitizer, and without the option the only change is the released correction maps. The use in O2DPG is prepared in AliceO2Group/O2DPG#2541, and the multithreaded digitizer of #16090 will use the same file once both are merged.

https://its.cern.ch/jira/browse/O2-7309

Assisted by Claude Code.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
sawenzel and others added 2 commits November 9, 2026 16:50
@sawenzel @claude
Release the TPC distortion corrections after the recalculation
e070a1f
This frees memory in the TPC digitizer that is not needed after the recalculation of the scaled distortions.

- The digitizer only uses the global distortions of the main map.
- The global corrections of the main and the derivative map are now released after the recalculation.

https://its.cern.ch/jira/browse/O2-7309

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@sawenzel @claude
Share the scaled TPC distortions between digitizers through a file
ce4daee
This adds the option --tpc-distortion-file to the TPC digitizer, so that the scaled distortions of a job are computed only once.

- The first digitizer computes the scaled distortions and writes them to the file.
- The other lanes and later timeframes read the file instead of recomputing.
- The file is keyed on the ETags of the CCDB maps, TPCCorrMap.lumiInst and the mean-luminosity overrides.
- A file written for other inputs is replaced.
- A lock file serialises the digitizers of different processes.
- Without a usable lock or ETag the distortions are computed as before.

https://its.cern.ch/jira/browse/O2-7309

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@sawenzel sawenzel mentioned this pull request Nov 9, 2026
Share the scaled TPC distortions between the digitizers of a job AliceO2Group/O2DPG#2541
Draft

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@shahor02 shahor02 Awaiting requested review from shahor02 shahor02 will be requested when the pull request is marked ready for review shahor02 is a code owner
@davidrohr davidrohr Awaiting requested review from davidrohr davidrohr will be requested when the pull request is marked ready for review davidrohr is a code owner
@wiechula wiechula Awaiting requested review from wiechula wiechula will be requested when the pull request is marked ready for review wiechula is a code owner

At least 1 approving review is required to merge this pull request.

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@sawenzel
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.