Add CPU estimation of largest reslice in pipeline#731
Open
yousefmoazzam wants to merge 2 commits into
Open
Conversation
…mation When performing CPU memory estimation of a section at runtime, any change to the data shape during the processing is naturally propagated due to the output of a section being passed as the input of the next section, so the data source's shape could be inspected to know if the data shape had changed. When performing CPU memory estimation of the entire pipeline prior to httomo runtime, there's no processed data to pass along, and thus the transformation of the data shape must be accounted for in some other way. This change passes along the estimated output chunk shape of a section to the input of the next section, to then achieve this propagation of data shape transformation. Note that it assumes that the global shape of the data will be the size of a chunk multiplied by the number of processes, which is roughly correct but may very slightly overestimate in some cases; this is due to the fact that, depending on the input data shape, the splitting of data across multiple processes could result in one or more of the processes getting slightly less data as a consequence of the data shape not being evenly divisible along the slicing dimension.
6c5835a to
7052305
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes IMGDA-907
The idea behind this was to reuse the existing CPU memory estimation of the full pipeline, and assume that the peak value would be contributed by the peak reslice, wherever that occurred in the pipeline.
The reuse of the existing CPU memory estimation function
estimate_section_memory()meant that it was possible to reuse all the existing functionality that loops over sections and calculates the output chunk shape of each section, which would be needed for a "peak reslice estimator".Checklist
user-release-notelabel in order to include this PR in the "NotableChanges for Users" section in release notes