onnxruntime/js/web/lib/wasm/jsep/webgpu/ops
MasayoshiTsutsui 6a9d8a9030
[js/webgpu] implement DepthToSpace operator in webgpu (#19948)
### Description
This PR supports
[DepthToSpace](https://onnx.ai/onnx/operators/onnx__DepthToSpace.html#depthtospace)
operator in webgpu backend.


### Test
We followed the steps described on [this
page](https://gist.github.com/fs-eire/a55b2c7e10a6864b9602c279b8b75dce)
to build, tested with the following commands, and confirmed that it
passed the Model and Op tests that already existed. (Probably, these
test cases were prepared in the past for WebGL backend)
```
~/onnxruntime/js/web>
% npm test -- suite0 -b=webgpu --wasm-number-threads=1 --debug   
```
##### NOTE
I want to tell you that the main branch version failed 5 tests for the
resize_upsample_sizes_nearest operator.
Since I didn't touch this issue, those test cases still fail in my
branch as well.
Should I post an issue for this?


### Motivation and Context
Though the DepthToSpace operator plays a crucial role in
super-resolution domains, it was not supported in webgpu backend.
2024-04-10 12:13:46 -07:00
..
3rd-party [js/webgpu] perform uniform consistency check (#20019) 2024-03-26 17:14:43 -07:00
argminmax.ts [JS/Web] Added uniforms to Reduce, Resize and Split Ops. (#18727) 2023-12-12 11:12:23 -08:00
attention.ts [js/webgpu] Use global id in attention and instance-norm (#20008) 2024-04-02 01:42:39 -07:00
batch-norm.ts [js/webgpu] Use DataType as uniform cpu type (#19281) 2024-01-30 21:05:08 -08:00
bias-add.ts
bias-split-gelu.ts [js/webgpu] support customop FastGelu (#19392) 2024-02-06 09:07:31 -08:00
binary-op.ts [js/webgpu] Refactor createTensorShapeVariables (#18883) 2024-02-01 17:59:00 -08:00
common.ts [js/webgpu] add validation to workgroup size (#20110) 2024-04-02 19:29:20 -07:00
concat.ts [JS/WebGPU] Preserve zero size input tensor dims. (#19737) 2024-03-07 19:07:49 -08:00
conv-grouped.ts [js/webgpu] perform uniform consistency check (#20019) 2024-03-26 17:14:43 -07:00
conv-transpose.ts fix ConvTranspose 1D (#20194) 2024-04-05 10:05:32 -07:00
conv.ts [js/webgpu] Enable GroupedConvVectorize path (#19791) 2024-03-12 22:25:07 -07:00
cumsum.ts [js/webgpu] Refactor createTensorShapeVariables (#18883) 2024-02-01 17:59:00 -08:00
depth-to-space.ts [js/webgpu] implement DepthToSpace operator in webgpu (#19948) 2024-04-10 12:13:46 -07:00
einsum.ts [js/webgpu] Use DataType as uniform cpu type (#19281) 2024-01-30 21:05:08 -08:00
expand.ts [js/webgpu] Refactor createTensorShapeVariables (#18883) 2024-02-01 17:59:00 -08:00
fast-gelu.ts [js/webgpu] support customop FastGelu (#19392) 2024-02-06 09:07:31 -08:00
fuse-utils.ts [js/webgpu] Add LeakyRelu activation for fusedConv (#19369) 2024-02-02 09:06:38 -08:00
gather-elements.ts [js/webgpu] Refactor createTensorShapeVariables (#18883) 2024-02-01 17:59:00 -08:00
gather.ts [js/webgpu] minor fixes to make tinyllama work (#19564) 2024-02-23 15:45:30 -08:00
gemm.ts [js/webgpu] Use DataType as uniform cpu type (#19281) 2024-01-30 21:05:08 -08:00
instance-norm.ts [js/webgpu] Use global id in attention and instance-norm (#20008) 2024-04-02 01:42:39 -07:00
layer-norm.ts [js] small fix to workaround formatter (#19400) 2024-02-20 17:23:01 -08:00
matmul.ts [js/webgpu] Add LeakyRelu activation for fusedConv (#19369) 2024-02-02 09:06:38 -08:00
matmulnbits.ts [JS/WebGPU] Optimize MatMulNBits (#19852) 2024-03-13 10:33:14 -07:00
multi-head-attentiion.ts [js/webgpu] Use DataType as uniform cpu type (#19281) 2024-01-30 21:05:08 -08:00
pad.ts [js/webgpu] perform uniform consistency check (#20019) 2024-03-26 17:14:43 -07:00
pool.ts [js/webgpu] fix maxpool / fp16 (#19981) 2024-03-19 16:15:49 -07:00
range.ts [js/webgpu] Use DataType as uniform cpu type (#19281) 2024-01-30 21:05:08 -08:00
reduce-shared.ts accumulate in fp32 for Reduce* (#19868) 2024-03-18 08:28:43 -07:00
reduce.ts [js/webgpu] Refactor createTensorShapeVariables (#18883) 2024-02-01 17:59:00 -08:00
resize.ts [js/webgpu] Refactor createTensorShapeVariables (#18883) 2024-02-01 17:59:00 -08:00
rotary-embedding.ts [js/webgpu] Implement com.microsoft.RotaryEmbedding (#20209) 2024-04-08 09:11:26 -07:00
skip-layer-norm.ts [js/webgpu] Use DataType as uniform cpu type (#19281) 2024-01-30 21:05:08 -08:00
slice.ts [js/webgpu] Refactor createTensorShapeVariables (#18883) 2024-02-01 17:59:00 -08:00
softmax.ts [js/webgpu] perform uniform consistency check (#20019) 2024-03-26 17:14:43 -07:00
split.ts [js/webgpu] Create Split indices helpers by rank, not by shape (#19554) 2024-02-20 09:24:34 -08:00
tile.ts [js/webgpu] Refactor createTensorShapeVariables (#18883) 2024-02-01 17:59:00 -08:00
transpose.ts [js/webgpu] Refactor createTensorShapeVariables (#18883) 2024-02-01 17:59:00 -08:00
unary-op.ts [js/webgpu] support customop FastGelu (#19392) 2024-02-06 09:07:31 -08:00
where.ts [JS/WebGPU] Fix Split and Where to handle corner cases. (#19613) 2024-02-23 00:21:15 -08:00