-
Notifications
You must be signed in to change notification settings - Fork 11
[SIMD] optimize the cvtColor kernel #301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@Wenzhao-Xiang , please move this info to PR for record. |
Link to WebAssembly/simd#196 |
@lionkunonly , please report the latest perf data you have. Thanks! |
Ubuntu 18.04, Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz, chrome dev 85.0.4183.26, and emscripten 1.39.16.
|
@huningxin Hi, Ningxin. I am not sure how to optimize the CvtColor. Do you have more suggestions in detail? |
As mentioned in #301 (comment), this issue depends on WebAssembly/simd#196 and emscripten-core/emscripten#9340. Compared to the last year's performance (0.24X), your latest data (0.86X) is 3.5X faster. It seems WebAssembly community is still working on that. Let's monitor and test if there is new progress. |
According to #300 (comment), the SIMD
cvtColor
kernel is times slower than scalar version.According to my investigation, the root cause is the inefficient
pshufb
with memory operands are generated by V8 for current implementation.One solution is to refer to sse implementation that uses
punpcklbw
andpunpckhqdq
. I tried but it still fails due to an emscripten issue that leads V8 fails to generate those instructions. Let's see the response from emscripten community.The text was updated successfully, but these errors were encountered: