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
HBHE: mahi speed up #25982
HBHE: mahi speed up #25982
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-25982/8491
|
A new Pull Request was created by @mariadalfonso for master. It involves the following packages: CalibCalorimetry/HcalAlgos @perrotta, @tocheng, @cmsbuild, @franzoni, @slava77, @pohsun can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
is incompatible with
At a glance (in the PR), the differences are likely due to changes in double and float precision. |
the difference thisPR/release comes from the mahi arrival time estimation |
Comparison is ready Comparison Summary:
|
+1
|
so it was eventually decided that moving float to double (in a fully double algorithm) is bad for physics, wasn't it? |
@VinInn I will try to move in the future as much as possible those double to float. |
@tocheng can you sign off , the changes are related to the double --> float in the TimeSlew class that is in the CalibCalorimetry package |
On 3/6/19 11:55 PM, Vincenzo Innocente wrote:
so it was eventually decided that moving float to double (in a fully
double algorithm) is bad for physics, wasn't it?
I didn't keep track of all the double->float and float->double changes
made while this PR was developing in response to my questions/requests
for investigation of origins of the differences.
Which edits are you referring to that did not do a float -> double revert?
Are there any opportunities for vectorization?
If so, then a simple switch to double will hurt the timing, especially
if the floats were acceptable for physics already.
|
no vectorization Anyhow, as @mariadalfonso commented, the best is to migrate everything to float and keep only the critical part of the fit in double... |
On 3/7/19 5:29 AM, Vincenzo Innocente wrote:
no vectorization
algo are fully coded in double, some parameters are in float, so there
are conversions float->double that can be avoided.
Anyhow, as @mariadalfonso
commented, the best is to migrate everything to float and keep only the
critical part of the fit in double...
OK.
A while back I checked the stability of M2 and it seemed important to
compute the chi2 in double, while all other code could be in float.
I seem to recall that there was enough math unrelated to chi2 that using
float there was justified even despite the extra cost of float -> double
conversion.
I wonder if MAHI is more stable adn could indeed work with just float.
|
@mariadalfonso |
@pohsun |
+1 |
it seems like a "+1" is accepted only if it's in the beginning of the message. |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
@fabiocos , yes |
+1 |
Code cleanup, followed from V.Innocente's suggestions, resulted in a 10% speed improvement.
Tested on data 2018-RunB, see igproof below (at commit dfc08db ).
No changes are expected in the HCAL quantities, neither energy/time.