WebNN: Reject batched MatMul with large K dimension size on OV NPU [chromium/src : main]

0 views
Skip to first unread message

Xu, Mingming1 (Gerrit)

unread,
Dec 18, 2025, 12:55:55 AM12/18/25
to Rafael Cintron, Hu, Ningxin, Qiujiao Wu, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
Attention needed from Hu, Ningxin, Qiujiao Wu and Rafael Cintron

Xu, Mingming1 added 3 comments

Commit Message
Line 9, Patchset 3:OV NPU can't support models with MatMul whose number of
columns in the first matrix is too large, resulting in hange issue
during model compilation.
Rafael Cintron . resolved

When you say "OV NPU can't support ....", is this a limitation of the hardware or a bug in the EP itself? Does the "hang" really mean compilation will never complete or just that it takes a long time? If the latter, how long is "a long time"? What is the ETA for a fix?

In general, I think we should avoid doing workarounds like this and, instead, insist that vendors fix their software. Otherwise, workarounds become permanent and linger forever.

Xu, Mingming1

>When you say "OV NPU can't support ....", is this a limitation of the hardware or a bug in the EP itself?

It's a NPU driver bug, not hardware limitation.

>Does the "hang" really mean compilation will never complete or just that it takes a long time? If the latter, how long is "a long time"?

As I know, it's the latter case, it takes too long time (even one day). /cc @qiuji...@intel.com

>What is the ETA for a fix?

A NPU compiler fix is WIP. Maybe the fix can be in the next NPU driver.

Xu, Mingming1

The NPU compiler fix PR has been landed yet.

Xu, Mingming1

Done

File services/webnn/ort/graph_builder_ort.cc
Line 2532, Patchset 13: // Workaround: Split MatMul operations with excessively large K dimension size
// into smaller chunks to prevent hang issues during model compilation on some
// NPU devices.
Hu, Ningxin . resolved

As discussed with @rafael....@microsoft.com offline, in this CL, we agreed to fail the graph build for this issue. We'll explore the workaround in EP. Once new EP release has the fix, we'll increase the minimum required version for that EP and remove the handling from Chromium. This would be a TODO.

Xu, Mingming1

Updated, PTAL, thanks!

Line 2540, Patchset 13: k_dimension_size > matmul_k_dimension_limit_.value()) {
Hu, Ningxin . resolved

If this issue only exists for grouped / batched matmul, we should only reject that.

Xu, Mingming1

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Hu, Ningxin
  • Qiujiao Wu
  • Rafael Cintron
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
Gerrit-Change-Number: 7245170
Gerrit-PatchSet: 17
Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
Gerrit-CC: Jiewei Qian <q...@chromium.org>
Gerrit-CC: Qiujiao Wu <qiuji...@intel.com>
Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
Gerrit-Attention: Qiujiao Wu <qiuji...@intel.com>
Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Attention: Hu, Ningxin <ningx...@intel.com>
Gerrit-Comment-Date: Thu, 18 Dec 2025 05:55:35 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Rafael Cintron <rafael....@microsoft.com>
Comment-In-Reply-To: Xu, Mingming1 <mingmi...@intel.com>
Comment-In-Reply-To: Hu, Ningxin <ningx...@intel.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Hu, Ningxin (Gerrit)

unread,
Dec 18, 2025, 3:15:36 AM12/18/25
to Xu, Mingming1, Rafael Cintron, Qiujiao Wu, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
Attention needed from Qiujiao Wu, Rafael Cintron and Xu, Mingming1

Hu, Ningxin voted and added 2 comments

Votes added by Hu, Ningxin

Code-Review+1

2 comments

Patchset-level comments
File-level comment, Patchset 17 (Latest):
Hu, Ningxin . resolved

LGTM with a nit

Commit Message
Line 13, Patchset 17 (Latest):This CL reject such MatMul operations to prevent hang issues.
Hu, Ningxin . unresolved

nit: rejects

Open in Gerrit

Related details

Attention is currently required from:
  • Qiujiao Wu
  • Rafael Cintron
  • Xu, Mingming1
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
Gerrit-Change-Number: 7245170
Gerrit-PatchSet: 17
Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
Gerrit-CC: Jiewei Qian <q...@chromium.org>
Gerrit-CC: Qiujiao Wu <qiuji...@intel.com>
Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
Gerrit-Attention: Qiujiao Wu <qiuji...@intel.com>
Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
Gerrit-Comment-Date: Thu, 18 Dec 2025 08:15:25 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Xu, Mingming1 (Gerrit)

unread,
Dec 18, 2025, 3:20:12 AM12/18/25
to Hu, Ningxin, Rafael Cintron, Qiujiao Wu, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
Attention needed from Qiujiao Wu and Rafael Cintron

Xu, Mingming1 voted and added 1 comment

Votes added by Xu, Mingming1

Commit-Queue+1

1 comment

Commit Message
Line 13, Patchset 17:This CL reject such MatMul operations to prevent hang issues.
Hu, Ningxin . resolved

nit: rejects

Xu, Mingming1

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Qiujiao Wu
  • Rafael Cintron
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
    Gerrit-Change-Number: 7245170
    Gerrit-PatchSet: 18
    Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
    Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
    Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
    Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
    Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
    Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
    Gerrit-CC: Jiewei Qian <q...@chromium.org>
    Gerrit-CC: Qiujiao Wu <qiuji...@intel.com>
    Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
    Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
    Gerrit-Attention: Qiujiao Wu <qiuji...@intel.com>
    Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
    Gerrit-Comment-Date: Thu, 18 Dec 2025 08:19:58 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Hu, Ningxin <ningx...@intel.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Xu, Mingming1 (Gerrit)

    unread,
    Dec 23, 2025, 7:36:59 PM12/23/25
    to Hu, Ningxin, Rafael Cintron, Qiujiao Wu, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
    Attention needed from Qiujiao Wu and Rafael Cintron

    Xu, Mingming1 added 1 comment

    Patchset-level comments
    File-level comment, Patchset 18 (Latest):
    Xu, Mingming1 . unresolved

    I found that the hang issue can cause the entire GPU process to hang.

    I did a test: I opened more than 10 web pages running the same model (which has a hang issue caused by batched MatMul). Each page should compile the model, which blocks a background thread and never completes. The Chrome UI hung for a while, and eventually the GPU process crashed with the error:

    `The GPU process crashed! Exit code: RESULT_CODE_HUNG.`

    I'm concerned that this could be a serious issue. What's your opinion?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Qiujiao Wu
    • Rafael Cintron
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
      Gerrit-Change-Number: 7245170
      Gerrit-PatchSet: 18
      Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
      Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
      Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
      Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
      Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
      Gerrit-CC: Jiewei Qian <q...@chromium.org>
      Gerrit-CC: Qiujiao Wu <qiuji...@intel.com>
      Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
      Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
      Gerrit-Attention: Qiujiao Wu <qiuji...@intel.com>
      Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Comment-Date: Wed, 24 Dec 2025 00:36:39 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Hu, Ningxin (Gerrit)

      unread,
      Dec 23, 2025, 7:45:33 PM12/23/25
      to Xu, Mingming1, Rafael Cintron, Qiujiao Wu, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
      Attention needed from Qiujiao Wu, Rafael Cintron and Xu, Mingming1

      Hu, Ningxin voted and added 1 comment

      Votes added by Hu, Ningxin

      Code-Review+1

      1 comment

      Patchset-level comments
      Xu, Mingming1 . unresolved

      I found that the hang issue can cause the entire GPU process to hang.

      I did a test: I opened more than 10 web pages running the same model (which has a hang issue caused by batched MatMul). Each page should compile the model, which blocks a background thread and never completes. The Chrome UI hung for a while, and eventually the GPU process crashed with the error:

      `The GPU process crashed! Exit code: RESULT_CODE_HUNG.`

      I'm concerned that this could be a serious issue. What's your opinion?

      Hu, Ningxin

      Thanks @mingmi...@intel.com for the analysis, I agreed this is a critical issue. You may want to document the reproduce steps at the issue https://issues.chromium.org/issues/467442135. Could a web page cause the GPU process hung issue by initiating 10 async model compilations without waiting for the completion?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Qiujiao Wu
      • Rafael Cintron
      • Xu, Mingming1
      Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
      Gerrit-Comment-Date: Wed, 24 Dec 2025 00:45:21 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Xu, Mingming1 <mingmi...@intel.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Xu, Mingming1 (Gerrit)

      unread,
      Dec 23, 2025, 8:51:34 PM12/23/25
      to Hu, Ningxin, Rafael Cintron, Qiujiao Wu, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
      Attention needed from Hu, Ningxin, Qiujiao Wu and Rafael Cintron

      Xu, Mingming1 added 1 comment

      Patchset-level comments
      Xu, Mingming1 . unresolved

      I found that the hang issue can cause the entire GPU process to hang.

      I did a test: I opened more than 10 web pages running the same model (which has a hang issue caused by batched MatMul). Each page should compile the model, which blocks a background thread and never completes. The Chrome UI hung for a while, and eventually the GPU process crashed with the error:

      `The GPU process crashed! Exit code: RESULT_CODE_HUNG.`

      I'm concerned that this could be a serious issue. What's your opinion?

      Hu, Ningxin

      Thanks @mingmi...@intel.com for the analysis, I agreed this is a critical issue. You may want to document the reproduce steps at the issue https://issues.chromium.org/issues/467442135. Could a web page cause the GPU process hung issue by initiating 10 async model compilations without waiting for the completion?

      Xu, Mingming1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Hu, Ningxin
      • Qiujiao Wu
      • Rafael Cintron
      Gerrit-Attention: Hu, Ningxin <ningx...@intel.com>
      Gerrit-Comment-Date: Wed, 24 Dec 2025 01:51:14 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Xu, Mingming1 (Gerrit)

      unread,
      Dec 24, 2025, 3:58:50 AM12/24/25
      to Hu, Ningxin, Rafael Cintron, Qiujiao Wu, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
      Attention needed from Hu, Ningxin, Qiujiao Wu and Rafael Cintron

      Xu, Mingming1 added 2 comments

      Patchset-level comments
      File-level comment, Patchset 18:
      Xu, Mingming1 . resolved

      I found that the hang issue can cause the entire GPU process to hang.

      I did a test: I opened more than 10 web pages running the same model (which has a hang issue caused by batched MatMul). Each page should compile the model, which blocks a background thread and never completes. The Chrome UI hung for a while, and eventually the GPU process crashed with the error:

      `The GPU process crashed! Exit code: RESULT_CODE_HUNG.`

      I'm concerned that this could be a serious issue. What's your opinion?

      Hu, Ningxin

      Thanks @mingmi...@intel.com for the analysis, I agreed this is a critical issue. You may want to document the reproduce steps at the issue https://issues.chromium.org/issues/467442135. Could a web page cause the GPU process hung issue by initiating 10 async model compilations without waiting for the completion?

      Xu, Mingming1

      Sure, please see steps in https://issues.chromium.org/issues/467442135

      Xu, Mingming1

      Done

      File-level comment, Patchset 19 (Latest):
      Xu, Mingming1 . resolved

      Rebased. PTAL again, thanks!

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Hu, Ningxin
      • Qiujiao Wu
      • Rafael Cintron
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
        Gerrit-Change-Number: 7245170
        Gerrit-PatchSet: 19
        Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
        Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
        Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
        Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
        Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
        Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
        Gerrit-CC: Jiewei Qian <q...@chromium.org>
        Gerrit-CC: Qiujiao Wu <qiuji...@intel.com>
        Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
        Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
        Gerrit-Attention: Qiujiao Wu <qiuji...@intel.com>
        Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
        Gerrit-Attention: Hu, Ningxin <ningx...@intel.com>
        Gerrit-Comment-Date: Wed, 24 Dec 2025 08:58:36 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Hu, Ningxin (Gerrit)

        unread,
        Jan 6, 2026, 1:28:55 AMJan 6
        to Xu, Mingming1, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
        Attention needed from Rafael Cintron, Wu, Qiujiao and Xu, Mingming1

        Hu, Ningxin voted and added 1 comment

        Votes added by Hu, Ningxin

        Code-Review+1

        1 comment

        Patchset-level comments
        File-level comment, Patchset 19 (Latest):
        Hu, Ningxin . resolved

        still LGTM

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Rafael Cintron
        • Wu, Qiujiao
        • Xu, Mingming1
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
          Gerrit-Change-Number: 7245170
          Gerrit-PatchSet: 19
          Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
          Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
          Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
          Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
          Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
          Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
          Gerrit-CC: Jiewei Qian <q...@chromium.org>
          Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
          Gerrit-CC: Wu, Qiujiao <qiuji...@intel.com>
          Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
          Gerrit-Attention: Wu, Qiujiao <qiuji...@intel.com>
          Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
          Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
          Gerrit-Comment-Date: Tue, 06 Jan 2026 06:28:43 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          open
          diffy

          Blink W3C Test Autoroller (Gerrit)

          unread,
          Jan 6, 2026, 12:38:49 PMJan 6
          to Xu, Mingming1, Reilly Grant, Hu, Ningxin, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
          Attention needed from Rafael Cintron, Wu, Qiujiao and Xu, Mingming1

          Message from Blink W3C Test Autoroller

          Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/web-platform-tests/wpt/pull/57011.

          When this CL lands, the bot will automatically merge the PR on GitHub if the required GitHub checks pass; otherwise, ecosystem-infra@ team will triage the failures and may contact you.

          WPT Export docs:
          https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#Automatic-export-process

          Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
          Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
          Gerrit-CC: Jiewei Qian <q...@chromium.org>
          Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
          Gerrit-CC: Reilly Grant <rei...@chromium.org>
          Gerrit-CC: Wu, Qiujiao <qiuji...@intel.com>
          Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
          Gerrit-Attention: Wu, Qiujiao <qiuji...@intel.com>
          Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
          Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
          Gerrit-Comment-Date: Tue, 06 Jan 2026 17:38:40 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: No
          satisfied_requirement
          open
          diffy

          Reilly Grant (Gerrit)

          unread,
          Jan 6, 2026, 4:34:49 PMJan 6
          to Xu, Mingming1, Blink W3C Test Autoroller, Reilly Grant, Hu, Ningxin, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
          Attention needed from Rafael Cintron, Wu, Qiujiao and Xu, Mingming1

          Reilly Grant added 5 comments

          Commit Message
          Line 9, Patchset 19 (Latest):OV NPU can't support models with batched MatMul whose K
          dimension size is too large, resulting in hange issue during
          model compilation.

          This CL rejects such MatMul operations to prevent hang issues.
          Reilly Grant . unresolved

          ```suggestion
          The OpenVINO NPU EP will take a very long time to compile models
          with batched MatMul operations whose K dimension size is too large.

          This CL rejects such MatMul operations to prevent WebNN from
          becoming unresponsive.
          ```

          File services/webnn/ort/graph_builder_ort.cc
          Line 2539, Patchset 19 (Latest): // dimension size to prevent hang issues during model compilation on some NPU
          // devices.
          Reilly Grant . unresolved
          ```suggestion
          // dimension size to prevent the EP from becoming unresponsive during model
          // compilation on some NPU devices.
          ```
          Line 2543, Patchset 19 (Latest): // TODO(crbug.com/467468912): When the hang issue is fixed, remove the
          // Limitation and increase the minimum required OV EP version.
          Reilly Grant . unresolved
          ```suggestion
          // TODO(crbug.com/467468912): When the OpenVINO issue is fixed, remove
          // the limitation and increase the minimum required EP version.
          ```
          File services/webnn/ort/graph_impl_ort.cc
          Line 151, Patchset 19 (Latest): if (!model_info_result.has_value()) {
          Reilly Grant . unresolved

          Use the ASSIGN_OR_RETURN macro to simplify this.

          File services/webnn/ort/ort_session_options.h
          Line 52, Patchset 19 (Latest): // It's safe to keep `first_selected_device_` as `SessionOptions` also keeps a
          // reference of `Environment` which owns all EP devices.
          Reilly Grant . unresolved
          ```suggestion
          // It's safe to keep `first_selected_device_` as `env_` owns all EP devices.
          ```
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Rafael Cintron
          • Wu, Qiujiao
          • Xu, Mingming1
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement is not satisfiedNo-Unresolved-Comments
            • requirement satisfiedReview-Enforcement
            Gerrit-Comment-Date: Tue, 06 Jan 2026 21:34:36 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Xu, Mingming1 (Gerrit)

            unread,
            Jan 6, 2026, 8:17:48 PMJan 6
            to Blink W3C Test Autoroller, Reilly Grant, Hu, Ningxin, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
            Attention needed from Rafael Cintron, Reilly Grant and Wu, Qiujiao

            Xu, Mingming1 added 5 comments

            Commit Message
            Line 9, Patchset 19:OV NPU can't support models with batched MatMul whose K

            dimension size is too large, resulting in hange issue during
            model compilation.

            This CL rejects such MatMul operations to prevent hang issues.
            Reilly Grant . resolved

            ```suggestion
            The OpenVINO NPU EP will take a very long time to compile models
            with batched MatMul operations whose K dimension size is too large.

            This CL rejects such MatMul operations to prevent WebNN from
            becoming unresponsive.
            ```

            Xu, Mingming1

            👍Done

            File services/webnn/ort/graph_builder_ort.cc
            Line 2539, Patchset 19: // dimension size to prevent hang issues during model compilation on some NPU
            // devices.
            Reilly Grant . resolved
            ```suggestion
            // dimension size to prevent the EP from becoming unresponsive during model
            // compilation on some NPU devices.
            ```
            Xu, Mingming1

            Done

            Line 2543, Patchset 19: // TODO(crbug.com/467468912): When the hang issue is fixed, remove the

            // Limitation and increase the minimum required OV EP version.
            Reilly Grant . resolved
            ```suggestion
            // TODO(crbug.com/467468912): When the OpenVINO issue is fixed, remove
            // the limitation and increase the minimum required EP version.
            ```
            Xu, Mingming1

            Done

            File services/webnn/ort/graph_impl_ort.cc
            Line 151, Patchset 19: if (!model_info_result.has_value()) {
            Reilly Grant . resolved

            Use the ASSIGN_OR_RETURN macro to simplify this.

            Xu, Mingming1

            Good catch! Thanks!

            File services/webnn/ort/ort_session_options.h
            Line 52, Patchset 19: // It's safe to keep `first_selected_device_` as `SessionOptions` also keeps a

            // reference of `Environment` which owns all EP devices.
            Reilly Grant . resolved
            ```suggestion
            // It's safe to keep `first_selected_device_` as `env_` owns all EP devices.
            ```
            Xu, Mingming1

            Done

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Rafael Cintron
            • Reilly Grant
            • Wu, Qiujiao
            Submit Requirements:
              • requirement satisfiedCode-Coverage
              • requirement satisfiedCode-Owners
              • requirement satisfiedCode-Review
              • requirement is not satisfiedReview-Enforcement
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: comment
              Gerrit-Project: chromium/src
              Gerrit-Branch: main
              Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
              Gerrit-Change-Number: 7245170
              Gerrit-PatchSet: 21
              Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
              Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
              Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
              Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
              Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
              Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
              Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
              Gerrit-CC: Jiewei Qian <q...@chromium.org>
              Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
              Gerrit-CC: Reilly Grant <rei...@chromium.org>
              Gerrit-CC: Wu, Qiujiao <qiuji...@intel.com>
              Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
              Gerrit-Attention: Wu, Qiujiao <qiuji...@intel.com>
              Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
              Gerrit-Attention: Reilly Grant <rei...@chromium.org>
              Gerrit-Comment-Date: Wed, 07 Jan 2026 01:17:28 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Reilly Grant <rei...@chromium.org>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Reilly Grant (Gerrit)

              unread,
              Jan 7, 2026, 2:51:49 PMJan 7
              to Xu, Mingming1, Reilly Grant, Blink W3C Test Autoroller, Hu, Ningxin, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
              Attention needed from Rafael Cintron, Wu, Qiujiao and Xu, Mingming1

              Reilly Grant voted and added 1 comment

              Votes added by Reilly Grant

              Code-Review+1

              1 comment

              Patchset-level comments
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Rafael Cintron
              • Wu, Qiujiao
              • Xu, Mingming1
              Submit Requirements:
                • requirement satisfiedCode-Coverage
                • requirement satisfiedCode-Owners
                • requirement satisfiedCode-Review
                • requirement satisfiedReview-Enforcement
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: comment
                Gerrit-Project: chromium/src
                Gerrit-Branch: main
                Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
                Gerrit-Change-Number: 7245170
                Gerrit-PatchSet: 21
                Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
                Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
                Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
                Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
                Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
                Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
                Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
                Gerrit-CC: Jiewei Qian <q...@chromium.org>
                Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
                Gerrit-CC: Wu, Qiujiao <qiuji...@intel.com>
                Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
                Gerrit-Attention: Wu, Qiujiao <qiuji...@intel.com>
                Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
                Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
                Gerrit-Comment-Date: Wed, 07 Jan 2026 19:51:36 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: Yes
                satisfied_requirement
                open
                diffy

                Zainudin Muji (ZF-DK) (Gerrit)

                unread,
                Jan 7, 2026, 3:03:47 PMJan 7
                to Xu, Mingming1, Reilly Grant, Blink W3C Test Autoroller, Hu, Ningxin, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                Attention needed from Rafael Cintron, Wu, Qiujiao and Xu, Mingming1

                Zainudin Muji (ZF-DK) added 1 comment

                Patchset-level comments
                Gerrit-CC: Zainudin Muji (ZF-DK) <zainudi...@outlook.co.id>
                Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
                Gerrit-Attention: Wu, Qiujiao <qiuji...@intel.com>
                Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
                Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
                Gerrit-Comment-Date: Wed, 07 Jan 2026 20:03:06 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                satisfied_requirement
                open
                diffy

                Rafael Cintron (Gerrit)

                unread,
                Jan 7, 2026, 5:36:01 PMJan 7
                to Xu, Mingming1, Reilly Grant, Blink W3C Test Autoroller, Hu, Ningxin, Rafael Cintron, Wu, Qiujiao, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                Attention needed from Wu, Qiujiao and Xu, Mingming1

                Rafael Cintron added 5 comments

                File services/webnn/ort/graph_builder_ort.cc
                Line 357, Patchset 21 (Latest): const char* ep_name = ort_api->EpDevice_EpName(first_selected_device);
                const auto iter = kKnownEPs.find(UNSAFE_BUFFERS(base::cstring_view(ep_name)));
                if (iter == kKnownEPs.end()) {
                return std::nullopt;
                }
                Rafael Cintron . unresolved

                By the time we get to this code, shouldn't the EP always be in the known EP list?

                Line 2531, Patchset 21 (Latest): const std::vector<uint32_t>& input_a_shape =
                GetOperand(matmul.a_operand_id).descriptor.shape();
                uint32_t k_dimension_size = input_a_shape.back();

                const OperandDescriptor& output_descriptor =
                GetOperand(matmul.output_operand_id).descriptor;
                bool is_batched_matmul = output_descriptor.Rank() > 2;
                Rafael Cintron . unresolved

                To avoid having correctly implemented EPs pay the price of all of this lookup and checking, please structure the code such that the `batched_matmul_k_dimension_limit_` has_value() and value() calls are made first.

                Line 2538, Patchset 21 (Latest): // Limitation: Reject batched MatMul operations with excessively large K
                Rafael Cintron . unresolved

                Please also link to the OV bug and provide a rough ETA for when we can expect a fix.

                File services/webnn/public/cpp/execution_providers_info.h
                Line 156, Patchset 21 (Latest): // The OpenVINO NPU limits the batched MatMul K dimension size to
                // 8192.
                Rafael Cintron . unresolved

                I see that you provided a detailed analysis of the situation in `GraphBuilderOrt::AddMatMulOperation`, including links to crbugs. Please add a comment here referring to that code, or vice versa, so people can easily find more details.

                Line 70, Patchset 21 (Latest): std::optional<uint32_t> npu_batched_matmul_k_dimension_limit;
                Rafael Cintron . unresolved

                Should `npu_batched_matmul_k_dimension_limit` go in the `EpWorkarounds` structure? I know that it is already passed around in various place which might make accessing the value easier.

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Wu, Qiujiao
                • Xu, Mingming1
                Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement satisfiedCode-Owners
                  • requirement satisfiedCode-Review
                  • requirement is not satisfiedNo-Unresolved-Comments
                  • requirement satisfiedReview-Enforcement
                  Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
                  Gerrit-Comment-Date: Wed, 07 Jan 2026 22:35:45 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Hu, Ningxin (Gerrit)

                  unread,
                  Jan 7, 2026, 7:43:38 PMJan 7
                  to Xu, Mingming1, Reilly Grant, Blink W3C Test Autoroller, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                  Attention needed from Wu, Qiujiao and Xu, Mingming1

                  Hu, Ningxin voted and added 1 comment

                  Votes added by Hu, Ningxin

                  Code-Review+1

                  1 comment

                  File services/webnn/ort/graph_builder_ort.cc
                  Line 2538, Patchset 21 (Latest): // Limitation: Reject batched MatMul operations with excessively large K
                  Rafael Cintron . unresolved

                  Please also link to the OV bug and provide a rough ETA for when we can expect a fix.

                  Hu, Ningxin

                  https://github.com/microsoft/onnxruntime/issues/26643, the fix is expected to be available in NPU driver Feb release.

                  Gerrit-Comment-Date: Thu, 08 Jan 2026 00:43:25 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: Yes
                  Comment-In-Reply-To: Rafael Cintron <rafael....@microsoft.com>
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Xu, Mingming1 (Gerrit)

                  unread,
                  Jan 8, 2026, 12:20:08 AMJan 8
                  to Reilly Grant, Blink W3C Test Autoroller, Hu, Ningxin, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                  Attention needed from Hu, Ningxin, Rafael Cintron, Reilly Grant and Wu, Qiujiao

                  Xu, Mingming1 added 5 comments

                  File services/webnn/ort/graph_builder_ort.cc
                  Line 357, Patchset 21: const char* ep_name = ort_api->EpDevice_EpName(first_selected_device);

                  const auto iter = kKnownEPs.find(UNSAFE_BUFFERS(base::cstring_view(ep_name)));
                  if (iter == kKnownEPs.end()) {
                  return std::nullopt;
                  }
                  Rafael Cintron . resolved

                  By the time we get to this code, shouldn't the EP always be in the known EP list?

                  Xu, Mingming1

                  It's possible. The `kKnownEPs` doesn't contain default EPs like DML EP.

                  Line 2531, Patchset 21: const std::vector<uint32_t>& input_a_shape =

                  GetOperand(matmul.a_operand_id).descriptor.shape();
                  uint32_t k_dimension_size = input_a_shape.back();

                  const OperandDescriptor& output_descriptor =
                  GetOperand(matmul.output_operand_id).descriptor;
                  bool is_batched_matmul = output_descriptor.Rank() > 2;
                  Rafael Cintron . resolved

                  To avoid having correctly implemented EPs pay the price of all of this lookup and checking, please structure the code such that the `batched_matmul_k_dimension_limit_` has_value() and value() calls are made first.

                  Xu, Mingming1

                  Done

                  Line 2538, Patchset 21: // Limitation: Reject batched MatMul operations with excessively large K
                  Rafael Cintron . resolved

                  Please also link to the OV bug and provide a rough ETA for when we can expect a fix.

                  Hu, Ningxin

                  https://github.com/microsoft/onnxruntime/issues/26643, the fix is expected to be available in NPU driver Feb release.

                  Xu, Mingming1

                  Done

                  File services/webnn/public/cpp/execution_providers_info.h
                  Line 156, Patchset 21: // The OpenVINO NPU limits the batched MatMul K dimension size to
                  // 8192.
                  Rafael Cintron . resolved

                  I see that you provided a detailed analysis of the situation in `GraphBuilderOrt::AddMatMulOperation`, including links to crbugs. Please add a comment here referring to that code, or vice versa, so people can easily find more details.

                  Xu, Mingming1

                  Done

                  Line 70, Patchset 21: std::optional<uint32_t> npu_batched_matmul_k_dimension_limit;
                  Rafael Cintron . resolved

                  Should `npu_batched_matmul_k_dimension_limit` go in the `EpWorkarounds` structure? I know that it is already passed around in various place which might make accessing the value easier.

                  Xu, Mingming1

                  Done

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Hu, Ningxin
                  • Rafael Cintron
                  • Reilly Grant
                  • Wu, Qiujiao
                    Submit Requirements:
                    • requirement satisfiedCode-Coverage
                    • requirement is not satisfiedCode-Owners
                    • requirement is not satisfiedCode-Review
                    • requirement is not satisfiedReview-Enforcement
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: comment
                    Gerrit-Project: chromium/src
                    Gerrit-Branch: main
                    Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
                    Gerrit-Change-Number: 7245170
                    Gerrit-PatchSet: 22
                    Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
                    Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
                    Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
                    Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
                    Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
                    Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
                    Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                    Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
                    Gerrit-CC: Jiewei Qian <q...@chromium.org>
                    Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
                    Gerrit-CC: Wu, Qiujiao <qiuji...@intel.com>
                    Gerrit-CC: Zainudin Muji (ZF-DK) <zainudi...@outlook.co.id>
                    Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
                    Gerrit-Attention: Wu, Qiujiao <qiuji...@intel.com>
                    Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
                    Gerrit-Attention: Reilly Grant <rei...@chromium.org>
                    Gerrit-Attention: Hu, Ningxin <ningx...@intel.com>
                    Gerrit-Comment-Date: Thu, 08 Jan 2026 05:19:48 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    Comment-In-Reply-To: Rafael Cintron <rafael....@microsoft.com>
                    Comment-In-Reply-To: Hu, Ningxin <ningx...@intel.com>
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Hu, Ningxin (Gerrit)

                    unread,
                    Jan 8, 2026, 1:08:08 AMJan 8
                    to Xu, Mingming1, Reilly Grant, Blink W3C Test Autoroller, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                    Attention needed from Rafael Cintron, Reilly Grant, Wu, Qiujiao and Xu, Mingming1

                    Hu, Ningxin added 4 comments

                    File services/webnn/ort/graph_builder_ort.cc
                    Line 2521, Patchset 23 (Latest): // The fix is expected to be available in NPU driver Feb release.
                    Hu, Ningxin . unresolved
                    ```suggestion
                    // The fix is expected to be available in NPU driver Feb '26 release.
                    ```
                    File services/webnn/ort/graph_impl_ort.cc
                    Line 134, Patchset 23 (Latest):std::optional<uint32_t> GetBatchedMatMulKDimensionLimit(
                    const OrtEpDevice* first_selected_device) {
                    const OrtApi* ort_api = PlatformFunctions::GetInstance()->ort_api();


                    const char* ep_name = ort_api->EpDevice_EpName(first_selected_device);
                    const auto iter = kKnownEPs.find(UNSAFE_BUFFERS(base::cstring_view(ep_name)));
                    if (iter == kKnownEPs.end()) {
                    return std::nullopt;
                    }

                    OrtHardwareDeviceType hardware_device_type = ort_api->HardwareDevice_Type(
                    ort_api->EpDevice_Device(first_selected_device));
                    if (hardware_device_type != OrtHardwareDeviceType_NPU) {
                    return std::nullopt;
                    }

                    return iter->second.workarounds.npu_batched_matmul_k_dimension_limit;
                    }
                    Hu, Ningxin . unresolved

                    Place this method into the unnamed namespace.

                    File services/webnn/public/cpp/execution_providers_info.h
                    Line 51, Patchset 23 (Latest): std::optional<uint32_t> npu_batched_matmul_k_dimension_limit;
                    Hu, Ningxin . unresolved

                    Nit: for struct, data member definition should be declared before functions.

                    Line 50, Patchset 23 (Latest): // The maximum K dimension size of batched MatMul on certain NPU devices.
                    Hu, Ningxin . unresolved

                    You may want to explain it is unnecessary to compute `|=` operation result across EP devices, because there will be only one NPU device EP.

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Rafael Cintron
                    • Reilly Grant
                    • Wu, Qiujiao
                    • Xu, Mingming1
                    Submit Requirements:
                    • requirement satisfiedCode-Coverage
                    • requirement satisfiedCode-Owners
                    • requirement is not satisfiedCode-Review
                    • requirement is not satisfiedNo-Unresolved-Comments
                    • requirement is not satisfiedReview-Enforcement
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: comment
                    Gerrit-Project: chromium/src
                    Gerrit-Branch: main
                    Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
                    Gerrit-Change-Number: 7245170
                    Gerrit-PatchSet: 23
                    Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
                    Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
                    Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
                    Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
                    Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
                    Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
                    Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                    Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
                    Gerrit-CC: Jiewei Qian <q...@chromium.org>
                    Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
                    Gerrit-CC: Wu, Qiujiao <qiuji...@intel.com>
                    Gerrit-CC: Zainudin Muji (ZF-DK) <zainudi...@outlook.co.id>
                    Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
                    Gerrit-Attention: Wu, Qiujiao <qiuji...@intel.com>
                    Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
                    Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
                    Gerrit-Attention: Reilly Grant <rei...@chromium.org>
                    Gerrit-Comment-Date: Thu, 08 Jan 2026 06:07:56 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Xu, Mingming1 (Gerrit)

                    unread,
                    Jan 8, 2026, 1:19:52 AMJan 8
                    to Reilly Grant, Blink W3C Test Autoroller, Hu, Ningxin, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                    Attention needed from Hu, Ningxin, Rafael Cintron, Reilly Grant and Wu, Qiujiao

                    Xu, Mingming1 added 4 comments

                    File services/webnn/ort/graph_builder_ort.cc
                    Line 2521, Patchset 23: // The fix is expected to be available in NPU driver Feb release.
                    Hu, Ningxin . resolved
                    ```suggestion
                    // The fix is expected to be available in NPU driver Feb '26 release.
                    ```
                    Xu, Mingming1

                    Done

                    File services/webnn/ort/graph_impl_ort.cc
                    Line 134, Patchset 23:std::optional<uint32_t> GetBatchedMatMulKDimensionLimit(

                    const OrtEpDevice* first_selected_device) {
                    const OrtApi* ort_api = PlatformFunctions::GetInstance()->ort_api();

                    const char* ep_name = ort_api->EpDevice_EpName(first_selected_device);
                    const auto iter = kKnownEPs.find(UNSAFE_BUFFERS(base::cstring_view(ep_name)));
                    if (iter == kKnownEPs.end()) {
                    return std::nullopt;
                    }

                    OrtHardwareDeviceType hardware_device_type = ort_api->HardwareDevice_Type(
                    ort_api->EpDevice_Device(first_selected_device));
                    if (hardware_device_type != OrtHardwareDeviceType_NPU) {
                    return std::nullopt;
                    }

                    return iter->second.workarounds.npu_batched_matmul_k_dimension_limit;
                    }
                    Hu, Ningxin . resolved

                    Place this method into the unnamed namespace.

                    Xu, Mingming1

                    Done

                    File services/webnn/public/cpp/execution_providers_info.h
                    Line 51, Patchset 23: std::optional<uint32_t> npu_batched_matmul_k_dimension_limit;
                    Hu, Ningxin . resolved

                    Nit: for struct, data member definition should be declared before functions.

                    Xu, Mingming1

                    Done

                    Line 50, Patchset 23: // The maximum K dimension size of batched MatMul on certain NPU devices.
                    Hu, Ningxin . resolved

                    You may want to explain it is unnecessary to compute `|=` operation result across EP devices, because there will be only one NPU device EP.

                    Xu, Mingming1

                    Done

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Hu, Ningxin
                    • Rafael Cintron
                    • Reilly Grant
                    • Wu, Qiujiao
                      Submit Requirements:
                        • requirement satisfiedCode-Coverage
                        • requirement satisfiedCode-Owners
                        • requirement is not satisfiedCode-Review
                        • requirement is not satisfiedReview-Enforcement
                        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                        Gerrit-MessageType: comment
                        Gerrit-Project: chromium/src
                        Gerrit-Branch: main
                        Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
                        Gerrit-Change-Number: 7245170
                        Gerrit-PatchSet: 24
                        Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
                        Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
                        Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
                        Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
                        Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
                        Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
                        Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                        Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
                        Gerrit-CC: Jiewei Qian <q...@chromium.org>
                        Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
                        Gerrit-CC: Wu, Qiujiao <qiuji...@intel.com>
                        Gerrit-CC: Zainudin Muji (ZF-DK) <zainudi...@outlook.co.id>
                        Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
                        Gerrit-Attention: Wu, Qiujiao <qiuji...@intel.com>
                        Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
                        Gerrit-Attention: Hu, Ningxin <ningx...@intel.com>
                        Gerrit-Attention: Reilly Grant <rei...@chromium.org>
                        Gerrit-Comment-Date: Thu, 08 Jan 2026 06:19:30 +0000
                        Gerrit-HasComments: Yes
                        Gerrit-Has-Labels: No
                        Comment-In-Reply-To: Hu, Ningxin <ningx...@intel.com>
                        satisfied_requirement
                        unsatisfied_requirement
                        open
                        diffy

                        Hu, Ningxin (Gerrit)

                        unread,
                        Jan 8, 2026, 1:37:34 AMJan 8
                        to Xu, Mingming1, Reilly Grant, Blink W3C Test Autoroller, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                        Attention needed from Rafael Cintron, Reilly Grant, Wu, Qiujiao and Xu, Mingming1

                        Hu, Ningxin voted and added 1 comment

                        Votes added by Hu, Ningxin

                        Code-Review+1

                        1 comment

                        Patchset-level comments
                        Open in Gerrit

                        Related details

                        Attention is currently required from:
                        • Rafael Cintron
                        • Reilly Grant
                        • Wu, Qiujiao
                        • Xu, Mingming1
                        Submit Requirements:
                          • requirement satisfiedCode-Coverage
                          • requirement satisfiedCode-Owners
                          • requirement satisfiedCode-Review
                          • requirement satisfiedReview-Enforcement
                          Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
                          Gerrit-Attention: Reilly Grant <rei...@chromium.org>
                          Gerrit-Comment-Date: Thu, 08 Jan 2026 06:37:24 +0000
                          Gerrit-HasComments: Yes
                          Gerrit-Has-Labels: Yes
                          satisfied_requirement
                          open
                          diffy

                          Reilly Grant (Gerrit)

                          unread,
                          Jan 8, 2026, 1:32:01 PMJan 8
                          to Xu, Mingming1, Reilly Grant, Hu, Ningxin, Blink W3C Test Autoroller, Rafael Cintron, Wu, Qiujiao, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                          Attention needed from Rafael Cintron, Wu, Qiujiao and Xu, Mingming1

                          Reilly Grant voted and added 1 comment

                          Votes added by Reilly Grant

                          Code-Review+1

                          1 comment

                          Patchset-level comments
                          Reilly Grant . resolved

                          LGTM

                          Open in Gerrit

                          Related details

                          Attention is currently required from:
                          • Rafael Cintron
                          • Wu, Qiujiao
                          • Xu, Mingming1
                          Gerrit-Comment-Date: Thu, 08 Jan 2026 18:31:46 +0000
                          Gerrit-HasComments: Yes
                          Gerrit-Has-Labels: Yes
                          satisfied_requirement
                          open
                          diffy

                          Rafael Cintron (Gerrit)

                          unread,
                          Jan 8, 2026, 4:44:36 PMJan 8
                          to Xu, Mingming1, Reilly Grant, Hu, Ningxin, Blink W3C Test Autoroller, Rafael Cintron, Wu, Qiujiao, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                          Attention needed from Wu, Qiujiao and Xu, Mingming1

                          Rafael Cintron voted Code-Review+1

                          Code-Review+1
                          Open in Gerrit

                          Related details

                          Attention is currently required from:
                          • Wu, Qiujiao
                          • Xu, Mingming1
                          Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
                          Gerrit-Comment-Date: Thu, 08 Jan 2026 21:44:24 +0000
                          Gerrit-HasComments: No
                          Gerrit-Has-Labels: Yes
                          satisfied_requirement
                          open
                          diffy

                          Hu, Ningxin (Gerrit)

                          unread,
                          Jan 8, 2026, 6:10:23 PMJan 8
                          to Xu, Mingming1, Rafael Cintron, Reilly Grant, Blink W3C Test Autoroller, Rafael Cintron, Wu, Qiujiao, Dwayne Robinson, Aditya Rastogi, Chromium LUCI CQ, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org
                          Attention needed from Wu, Qiujiao and Xu, Mingming1

                          Hu, Ningxin voted Commit-Queue+2

                          Commit-Queue+2
                          Gerrit-Comment-Date: Thu, 08 Jan 2026 23:10:04 +0000
                          Gerrit-HasComments: No
                          Gerrit-Has-Labels: Yes
                          satisfied_requirement
                          open
                          diffy

                          Chromium LUCI CQ (Gerrit)

                          unread,
                          Jan 8, 2026, 6:21:30 PMJan 8
                          to Xu, Mingming1, Hu, Ningxin, Rafael Cintron, Reilly Grant, Zainudin Muji (ZF-DK), Blink W3C Test Autoroller, Rafael Cintron, Wu, Qiujiao, Dwayne Robinson, Aditya Rastogi, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org

                          Chromium LUCI CQ submitted the change

                          Change information

                          Commit message:
                          WebNN: Reject batched MatMul with large K dimension size on OV NPU


                          The OpenVINO NPU EP will take a very long time to compile models
                          with batched MatMul operations whose K dimension size is too large.

                          This CL rejects such MatMul operations to prevent WebNN from
                          becoming unresponsive.
                          Bug: 467442135
                          Cq-Include-Trybots: luci.chromium.try:win11-blink-rel
                          Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
                          Reviewed-by: Hu, Ningxin <ningx...@intel.com>
                          Commit-Queue: Hu, Ningxin <ningx...@intel.com>
                          Reviewed-by: Rafael Cintron <rafael....@microsoft.com>
                          Reviewed-by: Reilly Grant <rei...@chromium.org>
                          Cr-Commit-Position: refs/heads/main@{#1566584}
                          Files:
                          • M services/webnn/ort/device_allocator.cc
                          • M services/webnn/ort/graph_builder_ort.cc
                          • M services/webnn/ort/graph_builder_ort.h
                          • M services/webnn/ort/graph_impl_ort.cc
                          • M services/webnn/ort/model_editor.h
                          • M services/webnn/ort/ort_session_options.cc
                          • M services/webnn/ort/ort_session_options.h
                          • M services/webnn/public/cpp/execution_providers_info.h
                          • M third_party/blink/web_tests/external/wpt/webnn/conformance_tests/matmul.https.any.js
                          Change size: M
                          Delta: 9 files changed, 192 insertions(+), 40 deletions(-)
                          Branch: refs/heads/main
                          Submit Requirements:
                          • requirement satisfiedCode-Review: +1 by Rafael Cintron, +1 by Reilly Grant, +1 by Hu, Ningxin
                          Open in Gerrit
                          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                          Gerrit-MessageType: merged
                          Gerrit-Project: chromium/src
                          Gerrit-Branch: main
                          Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
                          Gerrit-Change-Number: 7245170
                          Gerrit-PatchSet: 25
                          Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
                          Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                          Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
                          Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
                          Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
                          Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
                          Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
                          Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                          open
                          diffy
                          satisfied_requirement

                          Blink W3C Test Autoroller (Gerrit)

                          unread,
                          Jan 8, 2026, 7:40:51 PMJan 8
                          to Xu, Mingming1, Chromium LUCI CQ, Hu, Ningxin, Rafael Cintron, Reilly Grant, Rafael Cintron, Wu, Qiujiao, Dwayne Robinson, Aditya Rastogi, Zou, Shiyi, AyeAye, chromium...@chromium.org, Jiewei Qian, blink-...@chromium.org, blink-revie...@chromium.org

                          Message from Blink W3C Test Autoroller

                          The WPT PR for this CL has been merged upstream! https://github.com/web-platform-tests/wpt/pull/57011

                          Open in Gerrit

                          Related details

                          Attention set is empty
                          Submit Requirements:
                          • requirement satisfiedCode-Coverage
                          • requirement satisfiedCode-Owners
                          • requirement satisfiedCode-Review
                          • requirement satisfiedReview-Enforcement
                          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                          Gerrit-MessageType: comment
                          Gerrit-Project: chromium/src
                          Gerrit-Branch: main
                          Gerrit-Change-Id: I35797f771829a2ff2908a61242a6b287e264893a
                          Gerrit-Change-Number: 7245170
                          Gerrit-PatchSet: 25
                          Gerrit-Owner: Xu, Mingming1 <mingmi...@intel.com>
                          Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                          Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
                          Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
                          Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
                          Gerrit-Reviewer: Xu, Mingming1 <mingmi...@intel.com>
                          Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
                          Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                          Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
                          Gerrit-CC: Jiewei Qian <q...@chromium.org>
                          Gerrit-CC: Rafael Cintron <rafael....@chromium.org>
                          Gerrit-CC: Wu, Qiujiao <qiuji...@intel.com>
                          Gerrit-CC: Zainudin Muji (ZF-DK) <zainudi...@outlook.co.id>
                          Gerrit-CC: Zou, Shiyi <shiy...@intel.com>
                          Gerrit-Comment-Date: Fri, 09 Jan 2026 00:40:44 +0000
                          Gerrit-HasComments: No
                          Gerrit-Has-Labels: No
                          satisfied_requirement
                          open
                          diffy
                          Reply all
                          Reply to author
                          Forward
                          0 new messages