-
Notifications
You must be signed in to change notification settings - Fork 1
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 MATRIX as grid provider #161
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportBase: 31.44% // Head: 31.44% // No change to project coverage 👍
Additional details and impacted files@@ Coverage Diff @@
## master #161 +/- ##
=======================================
Coverage 31.44% 31.44%
=======================================
Files 20 20
Lines 954 954
=======================================
Hits 300 300
Misses 654 654
Flags with carried forward coverage won't be shown. Click here to find out more. Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
- MATRIX seems to be sensitive to the string after `run_` for the name of the run directory. To be safe, choose the next integer - do not copy runtime.dat - this doesn't seem to be needed - do not manually copy the files but instead rely on MATRIX's `tar_run` and `delete_run` features
The `log` doesn't exist after a process has been generated for the first time
@cschwan @felixhekhorn this PR has eventually to be split:
However, I would recommend to keep as it is for the time being, and go for the final layout only when Matrix will be approximately ready to be used. |
maybe @comane and/or @t7phy and/or @andreab1997 can take over? |
It would actually be appreciated. I could provide help, but consider also the tutorial by @scarlehoff https://nnpdf.github.io/pineline/tutorials/vrap (and consider to contribute yourself to Pineline documentation) |
@comane and @t7phy let's discuss better here - as already said even better if you can turn this into a pinefarm PR (should we just copy everything into an issue there @cschwan ?) what you said in NNPDF/pinefarm#52 sounds very worrisome - the whole purpose of the pineline is to ensure reproducibility and you tell me you start tweaking at random again ... note that this does does not refer to the complexity of a single runcard We really want to be reproducible and to track metadata (the whole mess about the pineline) and I would say that is a hard requirement for NNPDF4.1 (or whatever comes next). And I am quite confident that the pineline structure is flexible enough to allow for whatever Matrix business you need (of which I have no idea). Maybe we can discuss further in a meeting? (if possible including @cschwan ? ) |
@felixhekhorn the tweaks I mentioned do not prevent reproducibility whatsoever, there are 4 files that contain all the info to reproduce a run and we can easily store them in pinecard repo, my point was w.r.t. running matrix through pinefarm. |
Neither of your two points I consider a valid argument against integrating matrix let me address the last point first: this is already long planned NNPDF/pinefarm#11 - though we never found the time to work on that; @cschwan already sketched a possible solution there; at the moment there isn't a 1-on-1 mapping of pinecards to grids so far (because one might need to merge something), so we can easily have an n-on-m relation ... In fact your first point reinforces my point of view, I think: most importantly if you already have some instruction (in whatever form and whatever debug state) please commit them! and then we can iterate from there - as for the problem you describe, I think we can easily find a adjustment within pinefarm: recall that pinefarm is an interface and I'd say there is no need to mirror the arbitrary complex program from below to above, but we can just let them do there job - BUT we (=pinefarm) want to control the framework, which specifically concerns 1) the input and 2) the output and that will be the job of the pinefarm interface the interface has to:
what you do in the middle can be negotiated (including whatever hack for MATRIX bugs), but the framework has to stand - please read the pineline paper where we argue in detail for that! and it is about reproducibility, because to me this sounds much like you're becoming the new @enocera - the moment you would leave the collaboration, NNPDF is lost because we have no idea on how you obtained the results (may they be right or wrong) |
@felixhekhorn you are right, none of the points are an argument against integrating matrix because I never made the point that we shouldn't integrate matrix, did I? 😄 P.s. I don't plan to leave the collaboration for a long time ;) |
This branch currently adds a
./run_matrix.sh
BASH script because I can iterate very quickly with it, but the final product will be integrated into the existing Python program, of course.