Update sarbp example default precision and tiling heuristics - #1249
Open
tbensonatl wants to merge 2 commits into
Open
Update sarbp example default precision and tiling heuristics#1249tbensonatl wants to merge 2 commits into
tbensonatl wants to merge 2 commits into
Conversation
Update the SAR BP default precision from mixed to taylor_fast. The taylor_fast precision is the fastest on all hardware and likely provides enough accuracy for most use cases. If more accuracy is needed, then either the fltflt or mixed precision variants will be the best choice, with their relative speed depending on the FP64 throughput of the GPU. Also add automatic image tiling as part of the heuristics. This improves default performance on GPUs with small L2 caches, although users can still manually sweep pulse block and image tiling sizes to identify the optimal operating points for their system. Signed-off-by: Thomas Benson <[email protected]>
Also adjust the working set estimate based on the active range profile (i.e., the maximum span of the range profiles required for the specified scene). Signed-off-by: Thomas Benson <[email protected]>
Contributor
Greptile SummaryThis PR changes the SAR backprojection example’s default precision to
Confidence Score: 4/5The PR appears safe to merge, with a non-blocking recommendation to add focused tests for the new heuristic. The inspected execution paths preserve valid block and tile bounds and do not alter image coverage; the only accepted concern is the maintenance risk from leaving the new boundary-sensitive heuristic untested. Files Needing Attention: examples/sarbp/sarbp_heuristic.h Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Load SAR input and scene geometry] --> B[Estimate active range-bin span]
B --> C[Read GPU L2 cache size]
C --> D{Block size automatic?}
C --> E{Image tiles automatic?}
D --> F[Select pulse block size]
E --> G[Select image tile count]
F --> H[Process pulse blocks]
G --> H
H --> I[Backproject each image tile]
I --> J[Write focused image]
Reviews (1): Last reviewed commit: "Fix working set image tiling approximati..." | Re-trigger Greptile |
Collaborator
Author
|
/build |
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.
Update the sarbp example default precision from mixed to taylor_fast. taylor_fast is faster than mixed in all cases and in most cases will provide sufficient accuracy.
Also adjust the automatic pulse blocking and image tiling heuristics. Previously, the example automatically tuned the pulse block size, but not the image tile size. For large scenes on GPUs with small L2 caches, optimal performance requires tuning image tiling factors in addition to pulse block sizes. The example now automatically tunes both by default. On DGX Spark, this tuning improves performance for the dataset used in the example by ~10%.