onnxruntime/js/web/lib/wasm/jsep
Jiajia Qin 3580e01348
[js/webgpu] Optimize grouped conv (#21892)
### Description
<!-- Describe your changes. -->
#21618

This PR optimizes grouped conv by 1) more sequential memory access in
gpu 2) reusing input's data to reduce global memory access times.

See `Conv|GroupedConv` op in
[Wav2Vec2](https://huggingface.co/facebook/wav2vec2-base-960h) becomes
92 ms from 1058 ms on iGPUs with 32 EU.

For the whole model on my iGPUs with 32 EU,
wav2vec2 model becomes 982ms from 1942 ms.
squeezebert-uncased model becomes 71.86ms from 431.77ms.


### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
2024-09-04 17:16:35 -07:00
..
webgpu [js/webgpu] Optimize grouped conv (#21892) 2024-09-04 17:16:35 -07:00
webnn [js/webnn] Enable user-supplied MLContext (#20600) 2024-07-08 10:19:39 -07:00
backend-webgpu.ts [js/webgpu] Enable pad f16 uniform (#21691) 2024-08-26 07:58:48 -07:00
init.ts remove duplicate function definition (#21903) 2024-08-28 16:18:56 -07: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] change default formatter for JavaScript/TypeScript from clang-format to Prettier (#21728) 2024-08-14 16:51:22 -07:00