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

[RF] Consistent treatment of empty datasets with new CPU backend #14817

Merged
merged 2 commits into from
Feb 26, 2024

Conversation

guitargeek
Copy link
Contributor

As we discovered in a CMSSW ROOT master sync PR, the new RooFit CPU
backend treats empty datasets differently from the legacy NLL evaluation
backend:
cms-sw/cmsdist#9025

This commit is fixing this, in particular removing the assumption that
datasets used for fits with the new CPU backend are never empty.

A unit test that validates the behavior for empty data objects is also
added.

I set the priority to "high" because this is a blocker for CMSSW to use ROOT master.

@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

As we discovered in a CMSSW ROOT `master` sync PR, the new RooFit CPU
backend treats empty datasets differently from the legacy NLL evaluation
backend:
cms-sw/cmsdist#9025

This commit is fixing this, in particular removing the assumption that
datasets used for fits with the new CPU backend are never empty.

A unit test that validates the behavior for empty data objects is also
added.
Also, write out "constructor" instead of using the slang abbriviation
"ctor".
@phsft-bot
Copy link
Collaborator

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@guitargeek
Copy link
Contributor Author

It was validated locally that the test now also passes with the CUDA backend.

Copy link

Test Results

    12 files      12 suites   2d 11h 0m 31s ⏱️
 2 567 tests  2 565 ✅ 0 💤 2 ❌
28 858 runs  28 856 ✅ 0 💤 2 ❌

For more details on these failures, see this check.

Results for commit e54aecf.

Copy link
Member

@lmoneta lmoneta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Thank you Jonas for the fix

@guitargeek guitargeek merged commit 73ab6a7 into root-project:master Feb 26, 2024
13 of 17 checks passed
@guitargeek guitargeek deleted the roofit_empty_data branch February 26, 2024 12:17
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.

3 participants