Skip to content

webgpu: split transpose perm{2310} in two steps - #26573

Closed
xhcao wants to merge 1 commit into
microsoft:mainfrom
xhcao:transpose_shared_1114
Closed

webgpu: split transpose perm{2310} in two steps#26573
xhcao wants to merge 1 commit into
microsoft:mainfrom
xhcao:transpose_shared_1114

Conversation

@xhcao

@xhcao xhcao commented Nov 14, 2025

Copy link
Copy Markdown
Contributor

In order to use transpose-shared instead transpose-naive, we could split transpose perm{2310} in two steps, which benifits Conv operator.

Description

Motivation and Context

In order to use transpose-shared instead transpose-naive,
we could split transpose perm{2310} in two steps, which
benifits Conv operator.
@xhcao

xhcao commented Nov 14, 2025

Copy link
Copy Markdown
Contributor Author

The PR gets performance on sdunet-v1.5-demo-layernorm model, all Conv|Transpose time is from 224ms to 135ms

@xhcao

xhcao commented Nov 14, 2025

Copy link
Copy Markdown
Contributor Author

@jchen10

Copy link
Copy Markdown
Contributor

Looks great. As we discussed in #26554 (comment), we are going to cache the transposed kernel. This PR could be less beneficial for Conv|Transpose. Maybe we could find other place to apply this optimization later.

@guschmue Guenther Schmuelling (guschmue) added the ep:WebGPU ort-web webgpu provider label Nov 21, 2025
@xhcao

xhcao commented Jan 9, 2026

Copy link
Copy Markdown
Contributor Author

After the feature that prepacks conv weights on session initializing stage, there is no poor transpose performance issue, so I close the PR.

@xhcao xhcao closed this Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ep:WebGPU ort-web webgpu provider

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants