hpcflow.sdk.submission.run_file_resolver.RunMetaDataFileResolver#
- class hpcflow.sdk.submission.run_file_resolver.RunMetaDataFileResolver(jobscripts)#
Bases:
objectClass to resolve how to assign a submission’s runs to files that can be safely written to, given the concurrency of the submission’s jobscripts.
Methods
Build the element-expanded jobscript graph, where nodes are represented by a JobscriptUnit, and edges by the sets of units: successors and predecessors.
For each execution unit, which other execution units must occur downstream of it?
Retrieve the run IDs associated with a JobscriptUnit.
What's the maximum number of execution units we can link together into reusable-file chains?
Sort nodes such that all dependencies precede their dependents.
Attributes
- build_execution_unit_graph()#
Build the element-expanded jobscript graph, where nodes are represented by a JobscriptUnit, and edges by the sets of units: successors and predecessors.
- get_metadata_file_mapping()#
- static get_reachability(successors, topo_order)#
For each execution unit, which other execution units must occur downstream of it?
- get_unit_run_IDs(unit)#
Retrieve the run IDs associated with a JobscriptUnit.
- Parameters:
unit (JobscriptUnit)
- static maximum_matching(reachable)#
What’s the maximum number of execution units we can link together into reusable-file chains?
- resolve()#
- static topological_sort(successors, predecessors)#
Sort nodes such that all dependencies precede their dependents.