Skip to content

support WebAssembly SIMD for qgemm#9191

Merged
fs-eire merged 2 commits into
masterfrom
fs-eire/wasm-simd-qgemm
Sep 30, 2021
Merged

support WebAssembly SIMD for qgemm#9191
fs-eire merged 2 commits into
masterfrom
fs-eire/wasm-simd-qgemm

Conversation

@fs-eire
Copy link
Copy Markdown
Contributor

@fs-eire fs-eire commented Sep 27, 2021

Description: This change implemented QGEMM ( MlasGemmBatch for u8 ), which is used by common kernels in quantized model (eg. DynamicQuantizeMatMul, MatMulIntegerToFloat) for WebAssembly SIMD.

Motivation and Context

The change is implemented based on the SSE qgemm implementation.

There are 2 newly added wasm SIMD instructions:

  • v128.const
  • i32x4.dot_i16x8_s

Minimum requirement:

  • Node.js: 16.x.
  • Chrome/Edge: 91
  • Safari: N/A

@fs-eire fs-eire added the platform:web issues related to ONNX Runtime web; typically submitted using template label Sep 27, 2021
Copy link
Copy Markdown
Collaborator

@hanbitmyths hanbitmyths left a comment

Choose a reason for hiding this comment

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

looks correctly converted from qgemm_kernel_sse

Copy link
Copy Markdown
Member

@yufenglee yufenglee left a comment

Choose a reason for hiding this comment

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

:shipit:

@fs-eire fs-eire merged commit 8c57d51 into master Sep 30, 2021
@fs-eire fs-eire deleted the fs-eire/wasm-simd-qgemm branch September 30, 2021 19:40
siweic0 pushed a commit to siweic0/onnxruntime-web that referenced this pull request May 9, 2024
* support WebAssembly SIMD for qgemm

* remove '--experimental-wasm-bulk-memory' for test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

platform:web issues related to ONNX Runtime web; typically submitted using template

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants