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

EDM Memory usage #1516

Open
2 tasks
paulgessinger opened this issue Sep 14, 2022 · 2 comments
Open
2 tasks

EDM Memory usage #1516

paulgessinger opened this issue Sep 14, 2022 · 2 comments
Labels

Comments

@paulgessinger
Copy link
Member

paulgessinger commented Sep 14, 2022

The peak memory consumption of the track state EDM strongly increases when pileup and even complexity is increased. For ttbar events at $\mu=200$ from Pythia8, it can go up to a few gigabytes per event, which is suboptimal.

This issue tracks progress to improve and optimize the memory consumption.

Associated PRs:

Status quo

The tooling from #1511 gives the following measurements from MultiTrajectory:

ODD full chain example with Pythia8 ttbar @ mu200

other:
               count: 1877425.000000
               index:   128.91M
             parPred:    85.94M
             covPred:   515.65M
             parFilt:     0.00M
             covFilt:     0.00M
             parSmth:    85.94M
             covSmth:   515.65M
                meas:    25.08M
             measCov:   150.46M
                 jac:   515.65M
         sourceLinks:    18.50M
          projectors:     4.18M
               total:  2045.97M
meas:
               count: 653022.00
               index:    44.84M
             parPred:    27.47M
             covPred:   164.82M
             parFilt:    29.89M
             covFilt:   179.36M
             parSmth:    29.89M
             covSmth:   179.36M
                meas:    29.89M
             measCov:   179.36M
                 jac:   164.82M
         sourceLinks:     9.96M
          projectors:     4.98M
               total:  1044.66M

ODD truth tracking with Pythia8 ttbar @ mu200

               count: 40146.000000
               index:     2.76M
             parPred:     1.84M
             covPred:    11.03M
             parFilt:     0.00M
             covFilt:     0.00M
             parSmth:     1.84M
             covSmth:    11.03M
                meas:     0.00M
             measCov:     0.00M
                 jac:    11.03M
         sourceLinks:     0.31M
          projectors:     0.00M
               total:    39.82M
meas:
               count: 37159.00
               index:     2.55M
             parPred:     1.70M
             covPred:    10.21M
             parFilt:     1.70M
             covFilt:    10.21M
             parSmth:     1.70M
             covSmth:    10.21M
                meas:     1.70M
             measCov:    10.21M
                 jac:    10.21M
         sourceLinks:     0.57M
          projectors:     0.28M
               total:    61.24M

Other ideas

  • Switch to float for storage of parameters and covariances to float
  • Only store lower left triangle of covariance matrices. @tboldagh points out there is actually a triangular view directly in Eigen
@stale
Copy link

stale bot commented Oct 22, 2022

This issue/PR has been automatically marked as stale because it has not had recent activity. The stale label will be removed if any interaction occurs.

@stale stale bot added the Stale label Oct 22, 2022
kodiakhq bot pushed a commit that referenced this issue Oct 31, 2022
Addresses #1516.

```
 | x x x | x | x x |  ...
   ^       ^     ^
 M1,D=3 M2,D=1 M3,D=2
```

BREAKING CHANGE: `Acts::MultiTrajectory` measurement access methods change:
```diff
- constexpr auto measurement(IndexType measIdx) const;
+ template <size_t measdim> 
+ constexpr auto measurement(IndexType measIdx) const;
```
and 
```diff
- constexpr auto measurementCovariance(IndexType covIdx)
+ template <size_t measdim>
+ constexpr auto measurementCovariance(IndexType covIdx)
```
Copy link

This issue/PR has been automatically marked as stale because it has not had recent activity. The stale label will be removed if any interaction occurs.

@github-actions github-actions bot added the Stale label May 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant