Skip to content

Conversation

@fwyzard
Copy link
Contributor

@fwyzard fwyzard commented Oct 28, 2025

PR description:

ngt::AnyBuffer behaves like std::any, with two differences: it can only be used with trivially copyable types, and provides access to the underlying memory buffer to allow memcpy'ing its content.

@fwyzard
Copy link
Contributor Author

fwyzard commented Oct 28, 2025

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 28, 2025

cms-bot internal usage

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @fwyzard for master.

It involves the following packages:

  • DataFormats/Common (core)

@Dr15Jones, @makortel, @smuzaffar can you please review it and eventually sign? Thanks.
@makortel, @missirol, @mmusich, @rovere, @wddgit this is something you requested to watch as well.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@fwyzard
Copy link
Contributor Author

fwyzard commented Oct 28, 2025

@makortel @Dr15Jones the use case for edm::AnyBuffer is for sending small, trivially copyable objects over a serialisation/deserialisation chain (e.g. like MPI_Send/MPI_Recv) whenthe sender and receiver know the concrete type, but the code doing the send and receive does not.

Examples are the various variations of adding MPI support to CMSSW in #32632 or #49233, and the stand-alone tests in #47504 or #49152.

@fwyzard
Copy link
Contributor Author

fwyzard commented Oct 28, 2025

type ngt

@cmsbuild cmsbuild added the ngt label Oct 28, 2025
@cmsbuild
Copy link
Contributor

+1

Size: This PR adds an extra 28KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-60ef34/48869/summary.html
COMMIT: 846c960
CMSSW: CMSSW_16_0_X_2025-10-28-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/49235/48869/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: 6 differences found in the comparisons
  • DQMHistoTests: Total files compared: 51
  • DQMHistoTests: Total histograms compared: 3939953
  • DQMHistoTests: Total failures: 32
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3939901
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 50 files compared)
  • Checked 218 log files, 188 edm output root files, 51 DQM output files
  • TriggerResults: no differences found

@makortel
Copy link
Contributor

Examples are the various variations of adding MPI support to CMSSW in #32632 or #49233, and the stand-alone tests in #47504 or #49152.

While this PR looks seemingly straightforward, I want to understand the wider context (again) first before commenting (especially #49152). It will probably take me something along a week or two to have a good moment to start digesting them.

@fwyzard
Copy link
Contributor Author

fwyzard commented Oct 28, 2025

OK, understood, though we would appreciate not having to rebuild about 1000 packages every time 🤷🏻‍♂️

@mandrenguyen
Copy link
Contributor

+1

@fwyzard
Copy link
Contributor Author

fwyzard commented Nov 23, 2025

Will be moved to ngt::AnyBuffer under HeterogeneousCore/SerialisationCore.

@fwyzard fwyzard closed this Nov 23, 2025
@fwyzard fwyzard deleted the AnyBuffer branch November 23, 2025 18:24
ngt::AnyBuffer behaves like std::any, with two differences: it can only be used
with trivially copyable types, and provides access to the underlying memory
buffer to allow memcpy'ing its content.
@fwyzard fwyzard restored the AnyBuffer branch November 27, 2025 07:14
@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49235/46993

@cmsbuild
Copy link
Contributor

Pull request #49235 was updated. @cmsbuild can you please check and sign again.

@fwyzard
Copy link
Contributor Author

fwyzard commented Nov 27, 2025

@cms-sw/core-l2 we are still thinking about the new package name, but let me know if you would prefer to have this under FWCore and in the edm namespace.

@fwyzard
Copy link
Contributor Author

fwyzard commented Nov 27, 2025

please test

@cmsbuild
Copy link
Contributor

+1

Size: This PR adds an extra 20KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-60ef34/49710/summary.html
COMMIT: b0f1776
CMSSW: CMSSW_16_0_X_2025-11-26-2300/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/49235/49710/install.sh to create a dev area with all the needed externals and cmssw changes.

DAS Queries: The DAS query tests failed, see the summary page for details.

Comparison Summary

Summary:

  • You potentially added 2 lines to the logs
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 4 differences found in the comparisons
  • Reco comparison had 4 failed jobs
  • DQMHistoTests: Total files compared: 53
  • DQMHistoTests: Total histograms compared: 4269233
  • DQMHistoTests: Total failures: 67
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 4269146
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 52 files compared)
  • Checked 227 log files, 198 edm output root files, 53 DQM output files
  • TriggerResults: no differences found

@fwyzard
Copy link
Contributor Author

fwyzard commented Dec 16, 2025

Included in #49475.

@fwyzard fwyzard closed this Dec 16, 2025
@fwyzard fwyzard deleted the AnyBuffer branch December 16, 2025 22:52
@fwyzard fwyzard changed the title Introduce ngt::AnyBuffer Introduce ngt::AnyBuffer Jan 30, 2026
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.

4 participants