Repository navigation
[executorch][vulkan] Round f16 image stores to nearest even - #24372
digantdesai wants to merge 4 commits into
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/24372
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 New FailureAs of commit 21f064b with merge base 0f8e096 ( NEW FAILURE - The following job has failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
SS-JIA
left a comment
There was a problem hiding this comment.
Review automatically exported from Phabricator review in Meta.
Stack from ghstack (oldest at bottom):
Vulkan lets the device choose how stores to rgba16f images round, and devices that round toward zero bias f16 outputs; shader float controls don't govern that conversion.
gen_vulkan_spv.pynow wrapsimageStoreon writable rgba16f images in a round-to-nearest-even helper, and six shaders that declared such images by hand, two of them test shaders, now use the codegen.On devices that round toward zero, stores of 65520 and above now give inf, as the CPU conversion does, instead of 65504. The four texture shaders that already call
round_to_half_rteon their outputs (binary_scalar_texture,full_texture,reduce,scalar_tensor) now round twice, with identical results; removing those calls is a follow-up.aten._to_copyfrom f32 to f16 textures is avkCmdBlitImage, which the codegen doesn't reach, sotest_to_copykeeps its one-ulp tolerance.Authored with Claude Code.
@bypass-github-export-checks
@bypass-github-pytorch-ci-checks
@bypass-github-executorch-ci-checks
@exported-using-ghexport
Differential Revision: D128254886
Differential Revision: D128254886