There is interest in a general approach for writing Protocols that require or request multiple GPUs to complete their workloads within a single ProtocolDAG. Specifically, this means that individual ProtocolUnits in the ProtocolDAG would require or request 0 or more GPUs.
Our proposed approach for this:
establish a set of labels on ProtocolUnits (and perhaps on the Protocol or ProtocolDAG itself) that indicate their requirements or requests (soft requirements)
add support for handling these labels in downstream executors (exorcist, alchemiscale) in meaningful ways to optimally allocate resources on compute, communicate the allocated resources into the ProtocolDAG on execution
This issue will track our work toward achieving this goal. Any user stories that would make use of such a feature should be added as comments to this issue; they will form the substrate for discussion to ensure the solution sufficiently generalizes.
There is interest in a general approach for writing
Protocol
s that require or request multiple GPUs to complete their workloads within a singleProtocolDAG
. Specifically, this means that individualProtocolUnit
s in theProtocolDAG
would require or request 0 or more GPUs.Our proposed approach for this:
ProtocolUnit
s (and perhaps on theProtocol
orProtocolDAG
itself) that indicate their requirements or requests (soft requirements)exorcist
,alchemiscale
) in meaningful ways to optimally allocate resources on compute, communicate the allocated resources into theProtocolDAG
on executionThis issue will track our work toward achieving this goal. Any user stories that would make use of such a feature should be added as comments to this issue; they will form the substrate for discussion to ensure the solution sufficiently generalizes.