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

Add conifer external #8780

Merged
merged 3 commits into from
Oct 25, 2023
Merged

Conversation

thesps
Copy link
Contributor

@thesps thesps commented Oct 23, 2023

This PR adds a new external conifer that is to be used for emulation of BDTs in the L1T. We just need to pull in a single header file (this one).

This is my first time adding an external, so to check: the header file itself does #include "nlohmann/json.hpp", which is already an external. Do I need to add a requirement on json?

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @thesps (Sioni Summers) for branch IB/CMSSW_13_3_X/master.

@smuzaffar, @aandvalenzuela, @iarspider, @cmsbuild can you please review it and eventually sign? Thanks.
@antoniovilela, @rappoccio, @sextonkennedy you are the release manager for this.
cms-bot commands are listed here

@iarspider
Copy link
Contributor

Do I need to add a requirement on json?

Yes

@cmsbuild
Copy link
Contributor

Pull request #8780 was updated.

@thesps
Copy link
Contributor Author

thesps commented Oct 23, 2023

Thanks, done.

@iarspider
Copy link
Contributor

@cmsbuild please test

<tool name="conifer" version="@TOOL_VERSION@">
<client>
<environment name="CONIFER_BASE" default="@TOOL_ROOT@"/>
<environment name="INCLUDE" default="$CONIFER_BASE/conifer/backends/cpp/include"/>
Copy link
Contributor

@smuzaffar smuzaffar Oct 23, 2023

Choose a reason for hiding this comment

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

please change $CONIFER_BASE/conifer/backends/cpp/include to $CONIFER_BASE/include ( as you copied the header in %{i}/include ).

Also please add <use name="json"/> after </client>

@tomalin
Copy link

tomalin commented Oct 23, 2023

Shouldn't this PR also delete /L1Trigger/Phase2L1ParticleFlow/interface/conifer.h and migrate the small amount of PF code that refers to this? Or will that be done in a separate PR?

@smuzaffar
Copy link
Contributor

@thesps , please also include conifer as dependency of cmssw-tool-conf otherwise it will not be part of cmssw.

@smuzaffar
Copy link
Contributor

Shouldn't this PR also delete /L1Trigger/Phase2L1ParticleFlow/interface/conifer.h and migrate the small amount of PF code that refers to this? Or will that be done in a separate PR?

@tomalin , not this PR but yes there should be a cmssw PR to delete L1Trigger/Phase2L1ParticleFlow/interface/conifer.h and start using conifer external

@cmsbuild
Copy link
Contributor

Pull request #8780 was updated.

@smuzaffar
Copy link
Contributor

please test

(just to make sure external is built properly)

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-c326f2/35358/summary.html
COMMIT: 6ad2c6c
CMSSW: CMSSW_13_3_X_2023-10-23-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/8780/35358/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 50
  • DQMHistoTests: Total histograms compared: 3357400
  • DQMHistoTests: Total failures: 0
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3357378
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 49 files compared)
  • Checked 214 log files, 167 edm output root files, 50 DQM output files
  • TriggerResults: no differences found

@smuzaffar
Copy link
Contributor

+externals

This looks good to go in. @thesps , is cmssw PR ready to make use of this change?

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next IB/CMSSW_13_3_X/master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @antoniovilela, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@smuzaffar
Copy link
Contributor

I see cms-sw/cmssw#42663 waiting for new external.
Let get this in for next IB

@thesps
Copy link
Contributor Author

thesps commented Oct 26, 2023

Okay now having tried this from the IB last night CMSSW_13_3_X_2023-10-25-2300, changing an include in CMSSW to #include "conifer.h" there's a compile error from the conifer header on error: comparison of integer expressions of different signedness and -Werror=sign-compare.
What's the best fix:

  • change this code in the conifer library itself, make a release, update the spec here to point to new relase
  • suppress the error (not sure where)
    ?

At least we picked up the external okay...

@smuzaffar
Copy link
Contributor

change this code in the conifer library itself, make a release, update the spec here to point to new relase

yes, it should be fixed upstream in conifer

@thesps
Copy link
Contributor Author

thesps commented Oct 26, 2023

I'll do this ASAP (but probably in about 2 hours from now due to other commitments). Then, after fixing and updating here, I would like to use the User test area setup from the CI (as described here). Is there a way to use the externals from CI but a 'normal'/master/recent-release CMSSW area with sparse checkout? I would like to compile and run from just one package/sub-package to see if the new external is working okay.

@smuzaffar
Copy link
Contributor

In your cmssw dev area (based on one of the latest IBs), you just need to update CONIFER_BASE in config/toolbox/$SCRAM_ARCH/tools/selected/conifer.xml to point to your local installation of conifer and run scram setup conifer. This will allow scram to pick the conifer.h from your local directory.

@thesps thesps mentioned this pull request Oct 26, 2023
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.

5 participants