Skip to content

[WebNN] Support negative steps for slice#22871

Merged
fdwr merged 5 commits intomicrosoft:mainfrom
shiyi9801:add_reverse
Nov 26, 2024
Merged

[WebNN] Support negative steps for slice#22871
fdwr merged 5 commits intomicrosoft:mainfrom
shiyi9801:add_reverse

Conversation

@shiyi9801
Copy link
Contributor

@shiyi9801 shiyi9801 commented Nov 18, 2024

Slice with negative steps can be emulated by reverse+slice.

@shiyi9801
Copy link
Contributor Author

@Honry @fdwr PTAL, thanks :)

@shiyi9801
Copy link
Contributor Author

It suddenly occurred to me that maybe other negative steps can also be supported with reverse+slice... I'll figure it out tomorrow

@guschmue guschmue added the ep:WebNN WebNN execution provider label Nov 18, 2024
@shiyi9801 shiyi9801 changed the title [WebNN] Support slice steps == -1 [WebNN] Support negative steps for slice Nov 19, 2024
@shiyi9801
Copy link
Contributor Author

Updated. @Honry @fdwr PTAL, thanks!

Copy link
Contributor

@Honry Honry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @shiyi9801, LGTM % a nit.

Copy link
Contributor

@Honry Honry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

guschmue
guschmue previously approved these changes Nov 20, 2024
@guschmue
Copy link
Contributor

/azp run ONNX Runtime Web CI Pipeline,Windows GPU CI Pipeline,Linux Android Emulator QNN CI Pipeline

@guschmue
Copy link
Contributor

/azp run Linux CPU CI Pipeline,Linux CPU Minimal Build E2E CI Pipeline,Linux GPU CI Pipeline,Linux GPU TensorRT CI Pipeline,Linux OpenVINO CI Pipeline,Linux QNN CI Pipeline,MacOS CI Pipeline,Windows ARM64 QNN CI Pipeline,Windows CPU CI Pipeline

@guschmue
Copy link
Contributor

/azp run Windows GPU TensorRT CI Pipeline,onnxruntime-binary-size-checks-ci-pipeline,orttraining-linux-ci-pipeline,orttraining-linux-gpu-ci-pipeline,orttraining-ortmodule-distributed,Windows x64 QNN CI Pipeline,Big Models

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@guschmue
Copy link
Contributor

/azp run Windows GPU CUDA CI Pipeline,Windows GPU DML CI Pipeline,Windows GPU Doc Gen CI Pipeline

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@azure-pipelines
Copy link

Azure Pipelines successfully started running 4 pipeline(s).

@azure-pipelines
Copy link

Azure Pipelines successfully started running 9 pipeline(s).

fdwr
fdwr previously approved these changes Nov 21, 2024
Copy link
Contributor

@fdwr fdwr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

fdwr
fdwr previously approved these changes Nov 21, 2024
@shiyi9801
Copy link
Contributor Author

Hi @fdwr @guschmue Sorry I added an extra ";" in last commit, please help approve again, thanks!

Copy link
Contributor

@fdwr fdwr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@fdwr
Copy link
Contributor

fdwr commented Nov 26, 2024

/azp run ONNX Runtime Web CI Pipeline,Windows GPU CI Pipeline,Linux Android Emulator QNN CI Pipeline

@fdwr
Copy link
Contributor

fdwr commented Nov 26, 2024

/azp run Linux CPU CI Pipeline,Linux CPU Minimal Build E2E CI Pipeline,Linux GPU CI Pipeline,Linux GPU TensorRT CI Pipeline,Linux OpenVINO CI Pipeline,Linux QNN CI Pipeline,MacOS CI Pipeline,Windows ARM64 QNN CI Pipeline,Windows CPU CI Pipeline

@fdwr
Copy link
Contributor

fdwr commented Nov 26, 2024

/azp run Windows GPU CUDA CI Pipeline,Windows GPU DML CI Pipeline,Windows GPU Doc Gen CI Pipeline

@fdwr
Copy link
Contributor

fdwr commented Nov 26, 2024

/azp run Windows GPU TensorRT CI Pipeline,onnxruntime-binary-size-checks-ci-pipeline,orttraining-linux-ci-pipeline,orttraining-linux-gpu-ci-pipeline,orttraining-ortmodule-distributed,Windows x64 QNN CI Pipeline,Big Models

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@azure-pipelines
Copy link

Azure Pipelines successfully started running 4 pipeline(s).

@azure-pipelines
Copy link

Azure Pipelines successfully started running 9 pipeline(s).

@fdwr fdwr merged commit afbb539 into microsoft:main Nov 26, 2024
guschmue pushed a commit that referenced this pull request Dec 2, 2024
Slice with negative steps can be emulated by reverse+slice.
fdwr pushed a commit that referenced this pull request Dec 10, 2024
A follow-up of [[WebNN] Support negative steps for
slice](#22871 (comment)).
Slice op is emulated by reverse+slice when steps < 0 so
`SliceOpBuilder::HasSupportedInputsImpl()` should also check the
supported data types of reverse.

---------

Co-authored-by: Wanming Lin <wanming.lin@intel.com>
ankitm3k pushed a commit to intel/onnxruntime that referenced this pull request Dec 11, 2024
Slice with negative steps can be emulated by reverse+slice.
ankitm3k pushed a commit to intel/onnxruntime that referenced this pull request Dec 11, 2024
A follow-up of [[WebNN] Support negative steps for
slice](microsoft#22871 (comment)).
Slice op is emulated by reverse+slice when steps < 0 so
`SliceOpBuilder::HasSupportedInputsImpl()` should also check the
supported data types of reverse.

---------

Co-authored-by: Wanming Lin <wanming.lin@intel.com>
ankitm3k pushed a commit to intel/onnxruntime that referenced this pull request Dec 11, 2024
Slice with negative steps can be emulated by reverse+slice.
ankitm3k pushed a commit to intel/onnxruntime that referenced this pull request Dec 11, 2024
A follow-up of [[WebNN] Support negative steps for
slice](microsoft#22871 (comment)).
Slice op is emulated by reverse+slice when steps < 0 so
`SliceOpBuilder::HasSupportedInputsImpl()` should also check the
supported data types of reverse.

---------

Co-authored-by: Wanming Lin <wanming.lin@intel.com>
ankitm3k pushed a commit to intel/onnxruntime that referenced this pull request Dec 11, 2024
Slice with negative steps can be emulated by reverse+slice.
ankitm3k pushed a commit to intel/onnxruntime that referenced this pull request Dec 11, 2024
A follow-up of [[WebNN] Support negative steps for
slice](microsoft#22871 (comment)).
Slice op is emulated by reverse+slice when steps < 0 so
`SliceOpBuilder::HasSupportedInputsImpl()` should also check the
supported data types of reverse.

---------

Co-authored-by: Wanming Lin <wanming.lin@intel.com>
tarekziade pushed a commit to tarekziade/onnxruntime that referenced this pull request Jan 10, 2025
A follow-up of [[WebNN] Support negative steps for
slice](microsoft#22871 (comment)).
Slice op is emulated by reverse+slice when steps < 0 so
`SliceOpBuilder::HasSupportedInputsImpl()` should also check the
supported data types of reverse.

---------

Co-authored-by: Wanming Lin <wanming.lin@intel.com>
@shiyi9801 shiyi9801 deleted the add_reverse branch March 17, 2025 05:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ep:WebNN WebNN execution provider

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants