[Partitioner] Partitioner Refactoring 2 #3318
Closed
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.
Summary:
In this PR, the following methods are updated ( the way of how to calculate the memory usage/computation for each node is not changed) :
uint64_t getNodeMemUsage(const Node *node)
is added in to PartitionerUtils.cpp. That is, instead of pre-calculating all nodes' memory usage and storing it in a map, we calculate it when it is necessary. This function is now only called inloadBalancedPartitioning
, and for each node, it is only called once. So no need to store the value in a map.float getNodeComputeTime(const Node *node, const BackendInfo backendInfo)
is added to return the computation time of a node when it is necessary. Now the backendInfo is added as a param in this function for different type of backends.Documentation:
#2298
[Optional Fixes #issue]
Test Plan: ninja test.
Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.