onnxruntime/js/web/lib/wasm/jsep
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
..
webgpu [js/webgpu] Optimize ConvTranspose (Continue) (#23429) 2025-01-22 08:59:17 -08:00
webnn [WebNN] Fixes MLTensor caching across different contexts (#23100) 2024-12-17 12:51:16 -08:00
backend-webgpu.ts [JS/WebGPU] Creating devices with subgroup features enabled if possible (#21833) 2024-11-07 02:13:40 -08:00
backend-webnn.ts [WebNN] Fixed WebNN Module undefined issue (#22795) 2024-11-11 21:31:24 -08:00
init.ts [JS/WebGPU] Creating devices with subgroup features enabled if possible (#21833) 2024-11-07 02:13:40 -08:00
log.ts [js] change default formatter for JavaScript/TypeScript from clang-format to Prettier (#21728) 2024-08-14 16:51:22 -07:00
tensor-view.ts [js/webgpu] support float16 for Clip (#21584) 2024-08-28 13:19:20 -07:00
util.ts [JS/WebGPU] Support WASM64 (#21836) 2024-10-24 20:21:51 -07:00