webnn: Use TFLite for CPU execution on Linux
This CL primarily does two things:
- Use TFLite backend (instead of XNNPACK) on Linux for "cpu" contexts
- Refactor the existing Virtual Test Suite on Linux to run "cpu"
tests now that the "gpu" workaround is no longer needed to target
the TFLite backend
Note that - assuming TFLite-on-CPU behaves the same across platforms -
this "cpu" Virtual Test Suite and the corresponding expectations will
be re-used as other backends (or at least Windows) migrate "cpu"
context execution to TFLite in follow-up CLs
Before (on Linux):
- using a "cpu" context targets the XNNPACK backend in the renderer
- using a "gpu" context targets the TFLite backend in
//services (which currently runs on CPU anyways)
After (on Linux): - using either a "cpu" or "gpu" context targets the TFLite backend in
//services
This opens the door for TFLite to truly target the GPU if instructed,
and gets us one step closer to removing the XNNPACK backend
Bug: 325612086
Change-Id: I421d97b7d91b604afbfb3c8aa71b55a5bc78bd6f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5532576
Reviewed-by: David Baron dbaron@chromium.org
Commit-Queue: Austin Sullivan asully@chromium.org
Reviewed-by: ningxin hu ningxin.hu@intel.com
Cr-Commit-Position: refs/heads/main@{#1300171}