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

Decrease memory used by OscarMTProducer #26578

Merged
merged 11 commits into from May 3, 2019

Commits on Apr 30, 2019

  1. CaloSD does not own the hit collection

    Ownership of the hit collection is transfered to G4HCofThisEvent.
    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    5aded58 View commit details
    Browse the repository at this point in the history
  2. The numbering scheme object is not owned by TkAccumulatingSensitiveDe…

    …tector
    
    The numbering scheme object is a static thread_local function variable
    and therefore should not be deleted explicitly.
    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    91b7fe0 View commit details
    Browse the repository at this point in the history
  3. AttachSD can just be created as needed in RunManager

    AttachSD has not state and therefore can just be used as a
    local variable.
    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    4a54fa8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    78f9bdc View commit details
    Browse the repository at this point in the history
  5. Properly cleanup thread locals in RunManagerMTWorker

    All memory except for G4Run (which has segmentation fault problems)
    is now cleaned up at the end of the job.
    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    42c89fa View commit details
    Browse the repository at this point in the history
  6. Better memory handling in CaloSD

    The reusehit container now owns the CaloG4Hits it contains and it
    is now cleared at the end of processing an event.
    Removed the need for the helper container selIndex.
    Made hitvec a temporary variable of a member function.
    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    07a36d8 View commit details
    Browse the repository at this point in the history
  7. Be able to reset the memory used to hold all CaloG4Hits

    Can now call ResetStorage on the G4 allocator that holds all the
    memory for all CaloG4Hits in a particular thread. This will allow
    clearing of the memory at the end of each event.
    IgProf showed this was a major memory hoarder.
    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    c21aff0 View commit details
    Browse the repository at this point in the history
  8. Properly handle per Event/Job memory cleanup in OscarMTProducer

    Now clear temporary memory used to process an event before leaving
    OscarMTProducer::produce.
    Properly cleanup the thread_local storage at the end of the job.
    This makes it easier to find per event memory leaks.
    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    c0b63e5 View commit details
    Browse the repository at this point in the history
  9. Fixed incorrect cherry-picking of changes in CaloSD

    The containers were supposed to be either removed or replaced.
    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    00efce5 View commit details
    Browse the repository at this point in the history
  10. Do not delete thread local storage multiple times

    Given there is a RunManagerMTWorker per stream, and the tls is
    per threads, we need to be sure not to delete the same tls
    multiple times.
    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    efdd9bf View commit details
    Browse the repository at this point in the history
  11. Apply code-checks change

    Dr15Jones committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    0c78f96 View commit details
    Browse the repository at this point in the history