-
Notifications
You must be signed in to change notification settings - Fork 32
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 option to dump offloaded tracks as an event file #854
Conversation
@whokion Can you check out this branch, set |
No problem. Just for my curiosity, is the cms-offload.hepmc3 different from |
|
cmsRun with this branch runs successfully for both Run3 and HL-LHC configurations. Please see the size of file output with 100 ttbar events: |
Temporarily, can down those output files by |
@whokion Thanks for those files; I've downloaded them so you can delete if you want to clean up space. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sethrj!
One minor observation: right now all the events in the output have event ID 0. This won't matter for us since we set our own sequential event IDs in the HepMC3 reader, but we might still want to add a evt.set_event_number(event_count_)
in the EventWriter
.
src/accel/SharedParams.hh
Outdated
std::shared_ptr<StepCollector> step_collector_; | ||
VecG4ParticleDef particles_; | ||
std::string output_filename_; | ||
std::shared_ptr<detail::OffloadWriter> offload_writer_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
std::shared_ptr<detail::OffloadWriter> offload_writer_; | |
SPOffloadWriter offload_writer_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, we definitely want to do that! I didn't notice that property.
I also realized that |
I'm going to actually move the hepmc3/io fix to a separate PR since that's a problem that exists on the v0.3 release. |
This adds a shared "offload writer" that writes one "event" per
flush
call, with all threads sharing a single output file (so that the separate events can be parallelized when reloading the file).