onnxruntime/js/web/lib/wasm/jsep/webgpu
Jiajia Qin 25f427466e
[js/webgpu] Optimize ConvTranspose (Continue) (#23429)
BUG #23273

This PR does below optimizations:
1. When output channels is one, 1) calculate the offset before the
inchannel loop to reduce indices to offsets calculation, 2) split the
`inputChannelsPerGroup` into `inputChannelsPerGroupInt` and
`inputChannelsRemainder` parts so that we can always access 4 data for
`inputChannelsPerGroupInt`.
2. Use precise initial value to reduce useless loop iterations. Thanks
@jiangzhaoming 's suggestion's on this.

With this PR, ConvTranspose becomes 3.7s from 8.4s on Intel Meteor Lake.
On NV RTX 2000 Ada, it becomes 1.6s from 2.7s.
2025-01-22 08:59:17 -08:00
..
ops [js/webgpu] Optimize ConvTranspose (Continue) (#23429) 2025-01-22 08:59:17 -08:00
attribute-with-cache-key.ts [js] change default formatter for JavaScript/TypeScript from clang-format to Prettier (#21728) 2024-08-14 16:51:22 -07:00
gpu-data-manager.ts [js/webgpu] Destroy staging buffers aggressively during weights uploading (#22726) 2024-11-06 08:55:15 -08:00
op-resolve-rules.ts [js/webgpu] Add GatherND (#22847) 2024-12-04 09:57:32 -08:00
program-manager.ts [JS/WebGPU] Creating devices with subgroup features enabled if possible (#21833) 2024-11-07 02:13:40 -08:00
types.ts [JS/WebGPU] Creating devices with subgroup features enabled if possible (#21833) 2024-11-07 02:13:40 -08:00