onnxruntime/js/web/test/data/ops
Jiajia Qin a80bfed5b4
[js/webgpu] Optimize transpose (#21964)
### Description
<!-- Describe your changes. -->
Fix bugs in previous implementation and add more situations to go the
optimized path.

Below situations will go to the optimized path.
1. 2d inputs or squeezed 2d inputs
2. channels last or channels first transpose. For example, channel last
transpose: [1, 256, 512, 512] -> [1, 512, 512, 256]
For this case, the transpose becomes [256, 512x512] -> [512x512, 256]

### 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. -->
For SD Turbo demo, the total transpose time becomes 39.98ms from
122.09ms. And the correspnding percents becomes 3.89% from 11.05% in
this demo.

This PR will also help #21618, the total transpose time in that demo
becomes 17.32 ms from 70.25 ms on my iGPUs.
2024-09-04 12:04:04 -07:00
..
_example.jsonc [js/web] allow optional input/output in operator test (#17184) 2023-08-16 11:50:11 -07:00
abs-int32.jsonc [js/webgpu] Include Support for neg.int32 (#17374) 2023-09-06 12:00:16 -07:00
abs.jsonc
absr.jsonc
abss.jsonc
acos.jsonc
add.jsonc [js/web] fix suite test list for zero sized tensor (#19638) 2024-02-24 10:09:07 -08:00
add_int32.jsonc
add_zero-sized.jsonc [js/web] fix suite test list for zero sized tensor (#19638) 2024-02-24 10:09:07 -08:00
and.jsonc
asin.jsonc
attention.jsonc [js/web] JSEP Attention & MultiHeadAttention (#17742) 2023-11-17 12:23:52 -08:00
batch-norm.jsonc [js/webgpu] Add BatchNormalization Op (#18468) 2023-11-22 15:58:06 -08:00
bias-add.jsonc [js/web] BiasSplitGelu and BiasAdd kernels (#17161) 2023-10-03 12:20:20 -07:00
bias-split-gelu.jsonc [js/web] BiasSplitGelu and BiasAdd kernels (#17161) 2023-10-03 12:20:20 -07:00
cast.jsonc [js/webgpu] support Cast operator (#16489) 2023-08-18 23:51:03 -07:00
ceil.jsonc
clip.jsonc [js/webgpu] support float16 for Clip (#21584) 2024-08-28 13:19:20 -07:00
concat.jsonc
concat_int32.jsonc [JS/WebGPU] support Concat.int32 operator (#17003) 2023-09-13 00:05:00 -07:00
concat_zero-sized.jsonc [JS/WebGPU] Preserve zero size input tensor dims. (#19737) 2024-03-07 19:07:49 -08:00
conv-transpose.jsonc [JS/WebGPU] Use non-matmul implementation for ConvTranspose in channel-first case. (#20022) 2024-03-23 11:19:14 -07:00
conv.jsonc [js/webgpu] Provide a vectorized algorithm for GroupedConv (#18884) 2024-01-10 16:12:43 -08:00
conv1d.jsonc [js/webgpu] Optimize conv1d by conv2d (#19388) 2024-08-22 22:56:07 -07:00
conv3dncdhw.jsonc [js/webgpu] Support conv3d naive (#20706) 2024-06-19 10:13:50 -07:00
cos.jsonc
cumsum.jsonc [js/webgpu] Fix shader compilation errors in cumsum (#18779) 2023-12-11 18:11:38 -08:00
depth-to-space.jsonc
dequantize-linear-int4.jsonc [JS/WebGPU] Add GatherBlockQuantized op support (#21734) 2024-08-26 14:46:04 -07:00
dequantizelinear.jsonc [JS/WebGPU] Add Dequantizelinear operator (#21642) 2024-08-09 14:44:19 -07:00
div.jsonc
div_int32.jsonc [js/webgpu] Support int32 type for binary (#16901) 2023-08-18 12:19:01 -07:00
einsum.jsonc [JS/Web] Add uniforms to Einsum (#18531) 2023-11-29 15:30:33 -08:00
equal.jsonc
exp.jsonc
expand.jsonc [js/webgpu] Fix Expand/Gather when input type is bool (#18999) 2024-01-05 08:16:15 -08:00
fast-gelu.jsonc [js/webgpu] support customop FastGelu (#19392) 2024-02-06 09:07:31 -08:00
floor.jsonc
fused-conv.jsonc [js/webgpu] Add activation Tanh (#21540) 2024-07-29 11:05:34 -07:00
fused-conv3dncdhw.jsonc [js/webgpu] Add activation for conv3d naive (#21466) 2024-07-29 08:47:41 -07:00
gather-block-quantized.jsonc [JS/WebGPU] Add GatherBlockQuantized op support (#21734) 2024-08-26 14:46:04 -07:00
gather-elements.jsonc [JS/WebGPU] Support GatherElements kernel (#17243) 2023-08-28 09:55:25 -07:00
gather.jsonc [js/webgpu] Fix Expand/Gather when input type is bool (#18999) 2024-01-05 08:16:15 -08:00
gelu.jsonc [js/web] update op test schema (#16921) 2023-08-03 14:20:20 -07:00
gemm.jsonc
global-average-pool.jsonc [js/webgpu] Support uniforms for pool (#18656) 2023-12-05 07:54:30 -08:00
greater.jsonc
group-query-attention.jsonc [js/webgpu] Support GroupQueryAttention (#20237) 2024-05-13 09:43:37 -07:00
identity.jsonc
image-scaler.jsonc
instance-norm.jsonc [js/webgpu] Fix NAN caused by un-initialized buffer in instance-norm (#19387) 2024-03-18 22:59:32 -07:00
layer-norm.jsonc [JS/Web] The bias input is optional, not required, for LayerNormalization operator (#17143) 2023-08-16 10:41:20 -07:00
leaky-relu.jsonc
less.jsonc
log.jsonc
matmul-broadcast.jsonc [js/webgpu] add matmul broadcast tests (#17335) 2023-09-05 20:41:46 -07:00
matmul.jsonc [js/webgpu] Optimize matmul (#16969) 2023-08-29 12:40:57 -07:00
matmulnbits.jsonc [JS/WebGPU] Improve MatMulNBits perf (#19974) 2024-04-12 11:03:05 -07:00
max-pool.jsonc [js/webgpu] Fix max pool shape end with 0 (#21698) 2024-08-13 20:59:24 -07:00
mul.jsonc
mul_int32.jsonc
multihead-attention.jsonc [JS/WebGPU] Avoid producing presentKey/presentValue outputs if pastKey/pastValue … (#21782) 2024-08-19 18:02:19 -07:00
neg-int32.jsonc [js/webgpu] Include Support for neg.int32 (#17374) 2023-09-06 12:00:16 -07:00
neg.jsonc
not.jsonc
or.jsonc
pad-big.jsonc [js/web] update op test schema (#16921) 2023-08-03 14:20:20 -07:00
pad.jsonc [js/web] update op test schema (#16921) 2023-08-03 14:20:20 -07:00
pad_f16.jsonc [js/webgpu] Enable pad f16 uniform (#21691) 2024-08-26 07:58:48 -07:00
pow-big-number.jsonc [js/web] update op test schema (#16921) 2023-08-03 14:20:20 -07:00
pow.jsonc
pow_int32.jsonc [js/webgpu] Support int32 type for binary (#16901) 2023-08-18 12:19:01 -07:00
quick-gelu.jsonc webgpu quickgelu (#20939) 2024-06-06 08:21:33 -07:00
reduce-min.jsonc
relu.jsonc
reshape-int32.jsonc
reshape-pack.jsonc
reshape.jsonc [js/webgpu] Fix reshape int32 test case (#17113) 2023-08-15 21:18:13 -07:00
resize-pack.jsonc [js/web] update op test schema (#16921) 2023-08-03 14:20:20 -07:00
resize.jsonc [JS/Web] Sajandhy/webgpu resize scales rank check (#18954) 2023-12-29 09:23:27 -08:00
rotary-embedding.jsonc [js/webgpu] Implement com.microsoft.RotaryEmbedding (#20209) 2024-04-08 09:11:26 -07:00
shape.jsonc
simplified-layer-norm.jsonc [js/web] fix test runner with optional input/output (#20399) 2024-04-22 12:53:10 -07:00
sin.jsonc
skip-layer-norm.jsonc [js/web] fix test runner with optional input/output (#20399) 2024-04-22 12:53:10 -07:00
skip-simplified-layer-norm.jsonc [js/web] fix test runner with optional input/output (#20399) 2024-04-22 12:53:10 -07:00
slice.jsonc [JS/Web]Added uniforms support to Slice op. (#18422) 2023-11-16 09:44:13 -08:00
softmax.jsonc [js/webgpu] Support uniform for softmax (#18345) 2023-11-09 11:19:23 -08:00
split.jsonc [js/webgpu] Handle negative axis in op Split (#21771) 2024-08-17 16:41:23 -07:00
sqrt.jsonc
sub.jsonc
sub_int32.jsonc
tan.jsonc
tanh.jsonc [js/webgpu] Fix Tanh explosion (#19201) 2024-01-25 08:25:35 -08:00
tile.jsonc [JS/WebGPU] Support Tile operator (#17123) 2023-08-18 10:07:21 -07:00
transpose.jsonc [js/webgpu] Optimize transpose (#21964) 2024-09-04 12:04:04 -07:00
transpose_int32_uint32.jsonc [js/WebGPU] Support int32 Transpose in WebGPU (#16952) 2023-08-02 16:27:24 -07:00
upsample.jsonc [JS/WebGPU] Add trilinear interpolation to Resize; activation_params attribute is optional for FusedConv also. (#18842) 2023-12-27 16:21:29 -08:00
where.jsonc [JS/WebGPU] Fix Split and Where to handle corner cases. (#19613) 2024-02-23 00:21:15 -08:00
where_broadcast.jsonc [js/webgpu] Support where (#17544) 2023-10-03 14:28:21 -07:00
xor.jsonc