Implement get_pixel_coords utility for forward kernel
#30
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.
Part of MET-36
Summary of Changes
This PR implements the
get_pixel_coordsutility function, which will be used in the forward kernel to compute the subset of pixel coordinates that each thread is responsible for based on the thread & block IDs. As part of this, I'm also adding aint_ceil_divutility (essentiallyint(ceil(a/b))) to handle the potential edge cases where the number of pixels isn't divisible by the number of threads.Test Plans
I've added some basic tests to check that
get_pixel_coordsguarantees that each thread is covered by at least one thread (though it might be possible for multiple threads to write to the same pixel when the job is not divisible). To check them out, run