In loadbalance partition algorithm,
- For checking if function fits into the single device it checks if all constants fit into device memory (comparing
module_->getConstantsSize()
to device memory) - For checking if node fits into any device it compares available memory device with sums of the memory size of all the inputs of that node (using
getNodeMemUsage()
) - While updating memory of device if node fits, it consider memory of both placeholder and constants(in
updateGraphMemInfoByAddingNode()
)
What’s the idea or intuition behind all three points?