Comments (7)
Thanks for the initiative and the summary, @jpata!
from cmssw.
Have a good vacation. I will send you some thoughts/feedback over the next few days.
from cmssw.
Coming back to this thread:
first of all, thanks for all you two do @jpata @guitargeek .
In the above list of Joosep,
- Follow up with a clang-format pass on the whole PFAlgo package
- Modernize logging and make it thread-safe (cout -> MessageLogger)
are very clearly defined work, and sound good.
Beyond that would require algorithmic/conceptual developments which require deeper thoughts and planning. You might want to see the talk we gave at UPSG workshop yesterday:
https://indico.cern.ch/event/828365/
I think it will be also nice to add the utilization of the heterogeneous computing (e.g. GPU) for PF clustering and/or block producer if you are interested.
cc: @bendavid
from cmssw.
Very interesting slides, thanks for that. Clang-format has already been done, following up with logging and cleanup here: cms-sw#27505
I would like to invest some time in understanding the actual flow of the algorithm and the relevant datastructures once I get the logging updated. Even though PF is not a major CPU time consumer, it could be useful to think about PF on heterogeneous devices. In the past weeks I have been heavily involved in GPU programming for analysis.
from cmssw.
I have now followed up on sanitizing the inputs and outputs of the some of the functions in PFAlgo a little bit in this PR: cms-sw#27901.
Overall, I'm now generally able to follow the logic of the code and mostly OK with it. Apart from completely rewriting PFAlgo
from scratch given the physics goals, I don't foresee many fundamental changes at the moment that are easy to implement. As I'm not sure that this would be the highest priority item, I think it is a good moment to discuss what would be a good next step for the overall particle flow modernization project.
Possible options I see include:
- revisit PFBlockAlgo in a similar way
- start thinking about an ML-based and/or vectorizable PF algo
from cmssw.
Thanks. Are Josh and Jonas getting messages in this thread?
In addition to what you have done, I am hoping to finish:
cms-sw#27782
as the config is a little mess, and some config parameters can be removed.
Apart from that, I don't have anything really concrete to work on, but a couple of questions and thoughts:
- I am curious. Do you have any concrete ideas about "vectorize PF algo"?
- I am still studying PFBlockProducer/linking in detail, so I don't have concrete ideas, but given that PFBlockProducer is the leading time-consumer for PF [1], I think it will be nice to see if there is a room for improvement in terms of cpu(gpu?) performance and physics performance.
@bendavid do you have some suggestions?
@jpata maybe you want to summarize what you have done so far, and potential options on what you may want to consider next in the next Tuesday's PF meeting?
[1] https://patatrack.web.cern.ch/patatrack/timing_report_june_2019/piechart.html
from cmssw.
@hatakeyamak Thanks for your thoughts. I believe everyone who was mentioned here earlier should get the emails unless they explicitly disabled it. I can also send private emails but I find it useful to have a discussion in the open.
I will be happy to talk at the next PF meeting, I will prepare a few summary slides and thoughts.
from cmssw.
Related Issues (20)
- validor script to make response curve from raw response histograms HOT 9
- Script to make HTML pages and PDF plots more user-friendly HOT 6
- jet response definition HOT 11
- move from RECO -> MINIAOD in validation HOT 5
- Add additional validation samples HOT 7
- Add a pt-dependent mean(response) plot HOT 8
- rebase to 10_4_X HOT 1
- README crashes HOT 3
- Cannot read files from cmsxrootd.fnal.gov HOT 1
- 'make plots' step crashes HOT 6
- Update readme based on 10_5_0_pre1? HOT 2
- CRAB recipe for PF validation HOT 7
- Save gen-jet spectrum in DQM HOT 3
- Move PFValidation development to new fork? HOT 6
- Current make QCD_post step can be done in DQM client code? HOT 2
- Response & resolution plot, add additional bin of 3<|eta|<4 ? HOT 1
- Try to revive legacy PFlowDQM and integrate it in our current workflow
- Plot style polishing HOT 1
- particleFlow_cfi re-organization? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmssw.