FromGroupSubmissionController
: enable multiple submissions per parent node
#21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi @mbercx!
I saw #15 and I was also thinking about that issue while using the submission controllers. As I think that this feature would be very useful, I started to draft a possible solution so that we have something to discuss and a starting point (I just realized that my ideas are quite similar to what you mentioned in #5 back then).
The main idea was to introduce so-called
dynamic_extras
. These extras are only used to define the processes that should be submitted, in addition to theunique_extra_keys
. Therefore, these keys are also excluded when querying for parent nodes. As an example, one could setdynamic_extra = {'ecutrho': 400, 'ecutwfc': 100}
in a convergence study. I've already tested the logic and it seems to work.One point that needs to be discussed is the logic to identify the parent nodes. I decided to only use the
uuid
to identify the parent nodes, as it's unique per definition. Personally, I found it a bit cumbersome to always take care of setting the extras to identify the nodes in theparent_group
. From my perspective, one takes care of this by collecting certain nodes in a group.However, also mentioned in #5, the extras are passed in subsequent runs, which is a nice feature. Therefore, I still kept the
unique_extra_keys
as an optional argument, so that the user can specify extras that are passed. If we keep this logic, one can think of changing the name ofunique_extra_keys
, as they are not used to uniquely identify the parent nodes.Of course, we can also make the
uuid
the defaultunique_extra_keys
to identify the parent nodes and in case the user provides explicitunique_extra_keys
, these are used. Again, personally, I don't really see a reason why not always using theuuid
(as the advantages of the extras are still preserved in this version). But please convince me of the opposite 😄As always, I'm more than happy to discuss this.
Doc-strings will be updated once we agreed on a final logic.