blink platform audio vector math functions should be AVX optimized |
||||
Issue descriptionblink platform audio vector math functions in blink::VectorMath should be AVX optimized.
,
Oct 26 2017
I look forward to having AVX optimization for these, but how would that work? Chrome doesn't build with AVX enabled, so these optimizations won't get used until AVX can be enabled everywhere. Or are you going to do run-time detection and select the appropriate optimized routines? That would be awesome.
,
Oct 27 2017
Yes, the plan is to use run-time detection.
,
Oct 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ea2db6b78d813aa00492846478811eab71815487 commit ea2db6b78d813aa00492846478811eab71815487 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Fri Oct 27 09:30:32 2017 Implement test cases for blink::VectorMath functions This is a preparation for AVX optimization of blink::VectorMath functions. Bug: 778262 Change-Id: I57a61fa991f0c44b5f3fa4d97ca5afe4ebdd81f6 Reviewed-on: https://chromium-review.googlesource.com/737877 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Raymond Toy <rtoy@chromium.org> Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Cr-Commit-Position: refs/heads/master@{#512132} [modify] https://crrev.com/ea2db6b78d813aa00492846478811eab71815487/third_party/WebKit/Source/platform/BUILD.gn [add] https://crrev.com/ea2db6b78d813aa00492846478811eab71815487/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp
,
Oct 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/53b2317dba6778b9f7af53a444f51771dee0741a commit 53b2317dba6778b9f7af53a444f51771dee0741a Author: Tim Schumann <tschumann@chromium.org> Date: Fri Oct 27 12:34:17 2017 Revert "Implement test cases for blink::VectorMath functions" This reverts commit ea2db6b78d813aa00492846478811eab71815487. Reason for revert: breaks blink_platform_unittests Details: https://bugs.chromium.org/p/chromium/issues/detail?id=779049 Original change's description: > Implement test cases for blink::VectorMath functions > > This is a preparation for AVX optimization of blink::VectorMath > functions. > > Bug: 778262 > Change-Id: I57a61fa991f0c44b5f3fa4d97ca5afe4ebdd81f6 > Reviewed-on: https://chromium-review.googlesource.com/737877 > Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> > Reviewed-by: Raymond Toy <rtoy@chromium.org> > Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> > Cr-Commit-Position: refs/heads/master@{#512132} TBR=kinuko@chromium.org,kbr@chromium.org,rtoy@chromium.org,hongchan@chromium.org,eero.hakkinen@intel.com Change-Id: I874f5e00fb0543fda2c5b21cf2fc1f4f45b0d665 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 778262 Reviewed-on: https://chromium-review.googlesource.com/741502 Reviewed-by: Tim Schumann <tschumann@chromium.org> Commit-Queue: Tim Schumann <tschumann@chromium.org> Cr-Commit-Position: refs/heads/master@{#512158} [modify] https://crrev.com/53b2317dba6778b9f7af53a444f51771dee0741a/third_party/WebKit/Source/platform/BUILD.gn [delete] https://crrev.com/d41c35832870b62e499aafbae7b543fdbc3b4d4f/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp
,
Oct 27 2017
,
Oct 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2ec883baa185dd4ed877fbbfeaaa7aea51385b02 commit 2ec883baa185dd4ed877fbbfeaaa7aea51385b02 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Mon Oct 30 23:37:01 2017 [Reland] Implement test cases for blink::VectorMath functions Original CL: https://chromium-review.googlesource.com/737877 This CL avoids erroneous array bound checks in the standard algorithm library. This is a preparation for AVX optimization of blink::VectorMath functions. Bug: 778262 Change-Id: Ifc8465644a048cd0815c993dd824bdf62d04415a Reviewed-on: https://chromium-review.googlesource.com/744005 Reviewed-by: Raymond Toy <rtoy@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Cr-Commit-Position: refs/heads/master@{#512674} [modify] https://crrev.com/2ec883baa185dd4ed877fbbfeaaa7aea51385b02/third_party/WebKit/Source/platform/BUILD.gn [add] https://crrev.com/2ec883baa185dd4ed877fbbfeaaa7aea51385b02/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp
,
Oct 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a61604478fbacd5d6bf7b7c600578d5970b95417 commit a61604478fbacd5d6bf7b7c600578d5970b95417 Author: Makoto Shimazu <shimazu@chromium.org> Date: Tue Oct 31 03:05:24 2017 Revert "[Reland] Implement test cases for blink::VectorMath functions" This reverts commit 2ec883baa185dd4ed877fbbfeaaa7aea51385b02. Reason for revert: VectorMathTest.Vsma and VectorMathTest.Zvmul are failing on Mac. See https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.11%20%28retina%29/builds/19138/steps/blink_platform_unittests for detail. Original change's description: > [Reland] Implement test cases for blink::VectorMath functions > > Original CL: https://chromium-review.googlesource.com/737877 > > This CL avoids erroneous array bound checks in the standard algorithm > library. > > This is a preparation for AVX optimization of blink::VectorMath > functions. > > Bug: 778262 > Change-Id: Ifc8465644a048cd0815c993dd824bdf62d04415a > Reviewed-on: https://chromium-review.googlesource.com/744005 > Reviewed-by: Raymond Toy <rtoy@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> > Cr-Commit-Position: refs/heads/master@{#512674} TBR=kbr@chromium.org,rtoy@chromium.org,eero.hakkinen@intel.com Change-Id: Ife91931cd9b3f309bd75eeb0ba6525a013f67817 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 778262 Reviewed-on: https://chromium-review.googlesource.com/745921 Reviewed-by: Makoto Shimazu <shimazu@chromium.org> Commit-Queue: Makoto Shimazu <shimazu@chromium.org> Cr-Commit-Position: refs/heads/master@{#512726} [modify] https://crrev.com/a61604478fbacd5d6bf7b7c600578d5970b95417/third_party/WebKit/Source/platform/BUILD.gn [delete] https://crrev.com/fc9df5d5ac34fb5c4f706745b4d0dc7172d2ddd6/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp
,
Nov 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e7f2d4d2667b46e160f7415b8d59b9c1c371ad23 commit e7f2d4d2667b46e160f7415b8d59b9c1c371ad23 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Tue Nov 21 03:52:34 2017 Reland "[Reland] Implement test cases for blink::VectorMath functions" Previous CLs: https://chromium-review.googlesource.com/737877 https://chromium-review.googlesource.com/744005 This CL loosens float equality tests so that results with different rounding errors caused by different optimization paths pass the tests. This is a preparation for AVX optimization of blink::VectorMath functions. Bug: 778262 Change-Id: Ied5fab6dbc42d6ae206bfed253684f6998c00a2c Reviewed-on: https://chromium-review.googlesource.com/749221 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Raymond Toy <rtoy@chromium.org> Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Cr-Commit-Position: refs/heads/master@{#518100} [modify] https://crrev.com/e7f2d4d2667b46e160f7415b8d59b9c1c371ad23/third_party/WebKit/Source/platform/BUILD.gn [add] https://crrev.com/e7f2d4d2667b46e160f7415b8d59b9c1c371ad23/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp
,
Nov 21 2017
failing on CrWinClexeGoma https://build.chromium.org/p/chromium.fyi/builders/CrWinClexeGoma/builds/904 https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.fyi%2FCrWinClexeGoma%2F904%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout AILED: obj/third_party/WebKit/Source/platform/blink_platform_unittests_sources/VectorMathTest.obj ninja -t msvc -e environment.x86 -- E:\b\c\goma_client/gomacc.exe "e:\b\c\win_toolchain\vs_files\a9e1098bba66d2acccc377d5ee81265910f29272\vc\tools\msvc\14.11.25503\bin\hostx64\x86/cl.exe" /nologo /showIncludes @obj/third_party/WebKit/Source/platform/blink_platform_unittests_sources/VectorMathTest.obj.rsp /c ../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp /Foobj/third_party/WebKit/Source/platform/blink_platform_unittests_sources/VectorMathTest.obj /Fd"obj/third_party/WebKit/Source/platform/blink_platform_unittests_sources_cc.pdb" ../..\base/logging.h(760): error C2220: warning treated as error - no 'object' file generated ../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp(202): note: see reference to function template instantiation 'std::string *logging::CheckLTImpl<::size_t,>(const t1 &,const t2 &,const char *)' being compiled with [ t1=::size_t, t2= ] ../..\base/logging.h(760): warning C4018: '<': signed/unsigned mismatch
,
Nov 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fc32e0990e359e182211b2df5772e2aeadca1670 commit fc32e0990e359e182211b2df5772e2aeadca1670 Author: Mostyn Bramley-Moore <mostynb@vewd.com> Date: Tue Nov 21 08:24:52 2017 [jumbo] fixup after 'Reland "[Reland] Implement test cases for blink::VectorMath functions"' Followup to https://chromium-review.googlesource.com/749221 which fixes the following errors in jumbo builds: ./../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:188:31: error: unknown class name 'Test'; did you mean '::testing::Test'? ./../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:282:39: error: no member named 'PrintToString' in namespace 'blink::testing'; did you mean '::testing::PrintToString'? TBR=kbr@chromium.org Bug: 778262 Change-Id: Ibb616691ee3a5d79fdc08c4154ab00ea1a15fc79 Reviewed-on: https://chromium-review.googlesource.com/781459 Reviewed-by: Mostyn Bramley-Moore <mostynb@vewd.com> Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com> Cr-Commit-Position: refs/heads/master@{#518180} [modify] https://crrev.com/fc32e0990e359e182211b2df5772e2aeadca1670/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp
,
Nov 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3eadc13967a54120ef1a683a0da3bf1e3399dd9d commit 3eadc13967a54120ef1a683a0da3bf1e3399dd9d Author: Yoichi Osato <yoichio@chromium.org> Date: Wed Nov 22 08:56:52 2017 Fix compile error on msvc. It is comparing size_t and enum w/o cast. Bug: 778262 Change-Id: Iec0c159eae06c6450bdeb3f592106216071d797a Reviewed-on: https://chromium-review.googlesource.com/784673 Commit-Queue: Yoichi Osato <yoichio@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Cr-Commit-Position: refs/heads/master@{#518575} [modify] https://crrev.com/3eadc13967a54120ef1a683a0da3bf1e3399dd9d/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp
,
Nov 22 2017
Oof this is failing blink_platform tests,
[ RUN ] VectorMathTest.Zvmul
../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:408: Failure
Expected: expected_dest_imag[i]
Which is: -1.8202934
To be equal to: dest_imag[i]
Which is: -1.8202916
../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:404: Failure
Expected: expected_dest_real[i]
Which is: 1.6734142
To be equal to: dest_real[i]
Which is: 1.6734153
../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:404: Failure
Expected: expected_dest_real[i]
Which is: 0.33417892
To be equal to: dest_real[i]
Which is: 0.33417979
../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:404: Failure
Expected: expected_dest_real[i]
Which is: -0.85900974
To be equal to: dest_real[i]
Which is: -0.85900933
[ RUN ] VectorMathTest.Vsma
../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:318: Failure
Expected: expected_dest[i]
Which is: 0.2028904
To be equal to: dest[i]
Which is: 0.20289056
../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:318: Failure
Expected: expected_dest[i]
Which is: 0.2028904
To be equal to: dest[i]
Which is: 0.20289056
../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:318: Failure
Expected: expected_dest[i]
Which is: -0.23848915
To be equal to: dest[i]
Which is: -0.23848924
../../third_party/WebKit/Source/platform/audio/VectorMathTest.cpp:318: Failure
Expected: expected_dest[i]
Which is: -0.23848915
To be equal to: dest[i]
Which is: -0.23848924
Due to the sequence of patches on top I'm just going to disable tests for now since they seem like they just need some expectation updates.
,
Nov 22 2017
eero says he's preparing a patch. I'd guess these failures are due to Mac using the OS provided vectorized functions?
,
Nov 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/44e8444ed62b8196fd1b79b96eec2fd0f35221f6 commit 44e8444ed62b8196fd1b79b96eec2fd0f35221f6 Author: Dale Curtis <dalecurtis@chromium.org> Date: Wed Nov 22 20:30:19 2017 Disable VectorMathTests failing on macOS BUG= 778262 TBR=rtoy TEST=none Bug: Change-Id: Ib08b6e0f8703cb9ebf6040dbeff79c256ca86aef Reviewed-on: https://chromium-review.googlesource.com/786373 Commit-Queue: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Cr-Commit-Position: refs/heads/master@{#518729} [modify] https://crrev.com/44e8444ed62b8196fd1b79b96eec2fd0f35221f6/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp
,
Nov 23 2017
,
Nov 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f18456d9f10ca668ced22f06ad2ad106a9d246ee commit f18456d9f10ca668ced22f06ad2ad106a9d246ee Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Tue Nov 28 05:25:40 2017 Relax VectorMath tests further on Mac and re-enable all tests On Mac, OS provided vectorized functions are used which results in different rounding errors and NaN handling. Bug: 778262 Change-Id: I28479415bfd7117f0b2e712637e9e344b77c4645 Reviewed-on: https://chromium-review.googlesource.com/786153 Reviewed-by: Raymond Toy <rtoy@chromium.org> Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Cr-Commit-Position: refs/heads/master@{#519576} [modify] https://crrev.com/f18456d9f10ca668ced22f06ad2ad106a9d246ee/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp
,
Nov 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1c93289e5ae57607e56cb721c1569f22e72a8e0b commit 1c93289e5ae57607e56cb721c1569f22e72a8e0b Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Tue Nov 28 17:07:57 2017 Move SSE optimizations of VectorMath functions to a new file As SSE and AVX optimizations are quite similar, the new file can be modified to be useful also for AVX optimizations with altered preprocessor logic. This is a preparation for AVX optimization of VectorMath functions. Bug: 778262 Change-Id: Ic9540e1a17b090020e789db1ca5126ffe141b044 Reviewed-on: https://chromium-review.googlesource.com/738241 Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Reviewed-by: Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#519712} [modify] https://crrev.com/1c93289e5ae57607e56cb721c1569f22e72a8e0b/third_party/WebKit/Source/platform/audio/VectorMath.cpp [modify] https://crrev.com/1c93289e5ae57607e56cb721c1569f22e72a8e0b/third_party/WebKit/Source/platform/audio/VectorMath.h [add] https://crrev.com/1c93289e5ae57607e56cb721c1569f22e72a8e0b/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathImpl.cpp
,
Dec 1 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a4b0dbe63fa1a2bb876b2dd1828047b3e1955e97 commit a4b0dbe63fa1a2bb876b2dd1828047b3e1955e97 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Fri Dec 01 17:34:38 2017 Optimize blink::VectorMath::Vclip for SSE The performance gain on an Intel Broadwell CPU is about 8-fold, and on Intel Skylake and newer CPUs the SSE throughput should be further doubled. Bug: 778262 Change-Id: If4682a4d95a6729626049a38a4b1d5b1ebf830bd Reviewed-on: https://chromium-review.googlesource.com/738243 Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Reviewed-by: Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#520973} [modify] https://crrev.com/a4b0dbe63fa1a2bb876b2dd1828047b3e1955e97/third_party/WebKit/Source/platform/audio/VectorMath.cpp [modify] https://crrev.com/a4b0dbe63fa1a2bb876b2dd1828047b3e1955e97/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathImpl.cpp
,
Dec 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/02dce1e1a2ffa3ffc93455cbdcbe55117cb09543 commit 02dce1e1a2ffa3ffc93455cbdcbe55117cb09543 Author: Kenneth Russell <kbr@chromium.org> Date: Fri Dec 15 21:19:20 2017 Add rtoy as platform OWNER. Raymond is the primary OWNER of platform/audio and needs to be able to approve CLs which change the top-level BUILD.gn. BUG= 778262 Change-Id: I9f3b7478e95b34187669371d894c863ff86936f2 Reviewed-on: https://chromium-review.googlesource.com/827609 Reviewed-by: Ian Vollick <vollick@chromium.org> Cr-Commit-Position: refs/heads/master@{#524465} [modify] https://crrev.com/02dce1e1a2ffa3ffc93455cbdcbe55117cb09543/third_party/WebKit/Source/platform/OWNERS
,
Dec 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a3027612167c59dc7685123f448d30fb854f6385 commit a3027612167c59dc7685123f448d30fb854f6385 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Fri Dec 15 21:38:46 2017 Move X86 optimized VectorMath code to its own file This CL is part of VectorMath code clean up series: [1/4] this CL [2/4] https://chromium-review.googlesource.com/c/824047 [3/4] https://chromium-review.googlesource.com/c/824048 [4/4] https://chromium-review.googlesource.com/c/824049 Bug: 778262 Change-Id: I8d1d5db93b20e2ba14781151efb0ba174c97687d Reviewed-on: https://chromium-review.googlesource.com/824046 Reviewed-by: Raymond Toy <rtoy@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Cr-Commit-Position: refs/heads/master@{#524469} [modify] https://crrev.com/a3027612167c59dc7685123f448d30fb854f6385/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/a3027612167c59dc7685123f448d30fb854f6385/third_party/WebKit/Source/platform/audio/VectorMath.cpp [add] https://crrev.com/a3027612167c59dc7685123f448d30fb854f6385/third_party/WebKit/Source/platform/audio/VectorMathScalar.h [add] https://crrev.com/a3027612167c59dc7685123f448d30fb854f6385/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathSSE.h [add] https://crrev.com/a3027612167c59dc7685123f448d30fb854f6385/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathX86.h
,
Dec 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ffdd2535dc9f0be660e006de60682de052c94d2b commit ffdd2535dc9f0be660e006de60682de052c94d2b Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Sat Dec 16 15:59:13 2017 Move Mac OS X optimized VectorMath code to its own file This CL is part of VectorMath code clean up series: [1/4] https://chromium-review.googlesource.com/c/824046 [2/4] this CL [3/4] https://chromium-review.googlesource.com/c/824048 [4/4] https://chromium-review.googlesource.com/c/824049 Bug: 778262 Change-Id: If74c8bc5761b73a4282de20ae4c72e6ad839e464 Reviewed-on: https://chromium-review.googlesource.com/824047 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Raymond Toy <rtoy@chromium.org> Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Cr-Commit-Position: refs/heads/master@{#524607} [modify] https://crrev.com/ffdd2535dc9f0be660e006de60682de052c94d2b/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/ffdd2535dc9f0be660e006de60682de052c94d2b/third_party/WebKit/Source/platform/audio/VectorMath.cpp [add] https://crrev.com/ffdd2535dc9f0be660e006de60682de052c94d2b/third_party/WebKit/Source/platform/audio/mac/VectorMathMac.h
,
Dec 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/85162c435d3b1875731e9088cc21b16df95a85b8 commit 85162c435d3b1875731e9088cc21b16df95a85b8 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Sat Dec 16 17:31:24 2017 Move ARM NEON optimized VectorMath code to its own file This CL is part of VectorMath code clean up series: [1/4] https://chromium-review.googlesource.com/c/824046 [2/4] https://chromium-review.googlesource.com/c/824047 [3/4] this CL [4/4] https://chromium-review.googlesource.com/c/824049 Bug: 778262 Change-Id: I26f4e6cf672e2739e93cbf2a52dc44d776deec70 Reviewed-on: https://chromium-review.googlesource.com/824048 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Raymond Toy <rtoy@chromium.org> Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Cr-Commit-Position: refs/heads/master@{#524609} [modify] https://crrev.com/85162c435d3b1875731e9088cc21b16df95a85b8/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/85162c435d3b1875731e9088cc21b16df95a85b8/third_party/WebKit/Source/platform/audio/VectorMath.cpp [add] https://crrev.com/85162c435d3b1875731e9088cc21b16df95a85b8/third_party/WebKit/Source/platform/audio/cpu/arm/VectorMathNEON.h
,
Dec 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3dfdf0fb14316edcf9e3c8aadd83595d5ef080eb commit 3dfdf0fb14316edcf9e3c8aadd83595d5ef080eb Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Tue Dec 19 13:03:00 2017 Move MIPS MSA optimized VectorMath code to its own file This CL is part of VectorMath code clean up series: [1/4] https://chromium-review.googlesource.com/c/824046 [2/4] https://chromium-review.googlesource.com/c/824047 [3/4] https://chromium-review.googlesource.com/c/824048 [4/4] this CL Bug: 778262 Change-Id: Idbe8e6d12cb70d95d724ab04a6431568a7932c41 Reviewed-on: https://chromium-review.googlesource.com/824049 Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#525008} [modify] https://crrev.com/3dfdf0fb14316edcf9e3c8aadd83595d5ef080eb/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/3dfdf0fb14316edcf9e3c8aadd83595d5ef080eb/third_party/WebKit/Source/platform/audio/VectorMath.cpp [add] https://crrev.com/3dfdf0fb14316edcf9e3c8aadd83595d5ef080eb/third_party/WebKit/Source/platform/audio/cpu/mips/VectorMathMSA.h
,
Jan 5 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f4649bb381b982e9c42fbcc40e39cccd6065f774 commit f4649bb381b982e9c42fbcc40e39cccd6065f774 Author: David Vallet <dvallet@chromium.org> Date: Fri Jan 05 04:23:37 2018 Avoid including .cpp file in VectorMathSSE.h header file This is to avoid including any .cpp files from .h files. This was the first exception to this rule in Blink. Bug: 778262 Change-Id: Ifcfb4bae4ac2db04f280fede3c437e2d743af9b5 Reviewed-on: https://chromium-review.googlesource.com/851392 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#527193} [modify] https://crrev.com/f4649bb381b982e9c42fbcc40e39cccd6065f774/third_party/WebKit/Source/platform/BUILD.gn [rename] https://crrev.com/f4649bb381b982e9c42fbcc40e39cccd6065f774/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathSSE.cpp [modify] https://crrev.com/f4649bb381b982e9c42fbcc40e39cccd6065f774/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathSSE.h
,
Jan 10 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a90cb41f7cd2ba022d3f9bec682a447a31265723 commit a90cb41f7cd2ba022d3f9bec682a447a31265723 Author: Gordana Cmiljanovic <gordana.cmiljanovic@mips.com> Date: Wed Jan 10 16:12:13 2018 [MIPS] Fix typing error in VectorMathMSA.h Fixing typing error introduced in: https://chromium.googlesource.com/chromium/src/+/3dfdf0fb14316edcf9e3c8aadd83595d5ef080eb Bug: 778262 Change-Id: I50f7623dced3de4b7f304326f4a08e601a41b431 Reviewed-on: https://chromium-review.googlesource.com/860357 Reviewed-by: Raymond Toy <rtoy@chromium.org> Commit-Queue: Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#528333} [modify] https://crrev.com/a90cb41f7cd2ba022d3f9bec682a447a31265723/third_party/WebKit/Source/platform/audio/cpu/mips/VectorMathMSA.h
,
Feb 4 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3503377ca66909bdccd6a9d3c7514f2de3789452 commit 3503377ca66909bdccd6a9d3c7514f2de3789452 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Sun Feb 04 21:02:03 2018 Move common VectorMath X86 optimizations back to a separate file As SSE and AVX optimizations are quite similar, a separate file is useful also for AVX optimizations with altered preprocessor logic. This is a preparation for AVX optimization of VectorMath functions. Bug: 778262 Change-Id: I498da9e1b5da89b5dbd0c65f39a30be36688a1c6 Reviewed-on: https://chromium-review.googlesource.com/894202 Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Reviewed-by: Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#534300} [modify] https://crrev.com/3503377ca66909bdccd6a9d3c7514f2de3789452/third_party/WebKit/Source/platform/BUILD.gn [add] https://crrev.com/3503377ca66909bdccd6a9d3c7514f2de3789452/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathImpl.h [modify] https://crrev.com/3503377ca66909bdccd6a9d3c7514f2de3789452/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathSSE.cpp [modify] https://crrev.com/3503377ca66909bdccd6a9d3c7514f2de3789452/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathSSE.h
,
Feb 5 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c4e959b7fc7bdf578549a7f8ac306f4ddb7d1e83 commit c4e959b7fc7bdf578549a7f8ac306f4ddb7d1e83 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Mon Feb 05 10:44:52 2018 Consolidate common VectorMath X86 dispathing logic This CL moves common VectorMath X86 logic which splits frame counts to scalar and SSE frames to new function so that the logic does not have to repeated in each VectorMath X86 function. This also improves VectorMath performance on X86 platform by 2 to 14 percent depending on alignment of source and destination vectors. This CL is part of VectorMath code clean up. Bug: 778262 Change-Id: I452618bbb406d2aae18df8c173b119e0da2fe61f Reviewed-on: https://chromium-review.googlesource.com/824366 Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Reviewed-by: Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#534361} [modify] https://crrev.com/c4e959b7fc7bdf578549a7f8ac306f4ddb7d1e83/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathX86.h
,
Feb 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/51f50635f8e8593e6492b2376074edd3b79cb74c commit 51f50635f8e8593e6492b2376074edd3b79cb74c Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Mon Feb 12 08:25:46 2018 Optimize VectorMath functions for AVX This improves VectorMath performance on X86 platform by 7 to 25 percent depending on aligment of source and destination vectors. Bug: 778262 Change-Id: I8f1b6b7bce4d4ebfc254ed7d67758a68c20ec93a Reviewed-on: https://chromium-review.googlesource.com/738242 Reviewed-by: Raymond Toy <rtoy@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Cr-Commit-Position: refs/heads/master@{#536037} [modify] https://crrev.com/51f50635f8e8593e6492b2376074edd3b79cb74c/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/51f50635f8e8593e6492b2376074edd3b79cb74c/third_party/WebKit/Source/platform/DEPS [add] https://crrev.com/51f50635f8e8593e6492b2376074edd3b79cb74c/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathAVX.cpp [add] https://crrev.com/51f50635f8e8593e6492b2376074edd3b79cb74c/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathAVX.h [modify] https://crrev.com/51f50635f8e8593e6492b2376074edd3b79cb74c/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathX86.h
,
Feb 14 2018
With this last CL, it looks like you've added AVX optimizations. Is there anything else that needs to be done?
,
Feb 15 2018
The last bit of optimizations of existing vector math functions is https://chromium-review.googlesource.com/c/738239 which is now in commit queue.
,
Feb 15 2018
The last bit of optimizations of existing vector math functions is https://chromium-review.googlesource.com/c/738239 which is now in commit queue.
,
Feb 15 2018
The last bit of optimizations of existing vector math functions is https://chromium-review.googlesource.com/c/738239 which is now in commit queue.
,
Feb 16 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/05db906e922ecc5cc6d2c2141a324bc10465ca9b commit 05db906e922ecc5cc6d2c2141a324bc10465ca9b Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Fri Feb 16 08:49:40 2018 Increase AudioArray alignment for better AVX optimization This CL increases AudioArray alignment on x86 family architectures so that blink::VectorMath functions can better utilize AVX optimizations. Bug: 778262 Change-Id: Ibe94130ba0d0223342ae25f844c69767194370e9 Reviewed-on: https://chromium-review.googlesource.com/738239 Reviewed-by: Raymond Toy <rtoy@chromium.org> Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Cr-Commit-Position: refs/heads/master@{#537259} [modify] https://crrev.com/05db906e922ecc5cc6d2c2141a324bc10465ca9b/third_party/WebKit/Source/platform/audio/AudioArray.h
,
Mar 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/13a6b23cdc8f55997520169806101a2cda112787 commit 13a6b23cdc8f55997520169806101a2cda112787 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Mon Mar 19 21:26:31 2018 Move vector convolution from DirectConvolver to blink::VectorMath This CL adds a new function blink::VectorMath::Conv based on code in blink::DirectConvolver, modifies DirectConvolver to use that new function and adds a unit test for that new function. This is a preparation for AVX optimized vector convolution. Bug: 778262 Change-Id: Iae970e9c1ecb359c2375305b6af8c54e853dcdc1 Reviewed-on: https://chromium-review.googlesource.com/924143 Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Reviewed-by: Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#544164} [modify] https://crrev.com/13a6b23cdc8f55997520169806101a2cda112787/third_party/WebKit/Source/platform/audio/DirectConvolver.cpp [modify] https://crrev.com/13a6b23cdc8f55997520169806101a2cda112787/third_party/WebKit/Source/platform/audio/VectorMath.cpp [modify] https://crrev.com/13a6b23cdc8f55997520169806101a2cda112787/third_party/WebKit/Source/platform/audio/VectorMath.h [modify] https://crrev.com/13a6b23cdc8f55997520169806101a2cda112787/third_party/WebKit/Source/platform/audio/VectorMathScalar.h [modify] https://crrev.com/13a6b23cdc8f55997520169806101a2cda112787/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp [modify] https://crrev.com/13a6b23cdc8f55997520169806101a2cda112787/third_party/WebKit/Source/platform/audio/cpu/arm/VectorMathNEON.h [modify] https://crrev.com/13a6b23cdc8f55997520169806101a2cda112787/third_party/WebKit/Source/platform/audio/cpu/mips/VectorMathMSA.h [modify] https://crrev.com/13a6b23cdc8f55997520169806101a2cda112787/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathX86.h [modify] https://crrev.com/13a6b23cdc8f55997520169806101a2cda112787/third_party/WebKit/Source/platform/audio/mac/VectorMathMac.h
,
Mar 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b401d9b0f10151b25898737a1e5026fb5a112021 commit b401d9b0f10151b25898737a1e5026fb5a112021 Author: Eero Häkkinen <eero.hakkinen@intel.com> Date: Tue Mar 20 09:55:44 2018 Optimize blink::VectorMath::Conv for AVX This CL doubles the performance on an Intel Broadwell CPU. Bug: 778262 Change-Id: Ie60d64a0e862148a8a74e1fb162be2ec147e6cc6 Reviewed-on: https://chromium-review.googlesource.com/924144 Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com> Reviewed-by: Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#544319} [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/DirectConvolver.cpp [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/DirectConvolver.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/DownSampler.cpp [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/DownSampler.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/ReverbConvolverStage.cpp [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/ReverbConvolverStage.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/UpSampler.cpp [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/UpSampler.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/VectorMath.cpp [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/VectorMath.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/VectorMathScalar.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/VectorMathTest.cpp [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathAVX.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathImpl.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathSSE.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/cpu/x86/VectorMathX86.h [modify] https://crrev.com/b401d9b0f10151b25898737a1e5026fb5a112021/third_party/WebKit/Source/platform/audio/mac/VectorMathMac.h
,
Sep 3
|
||||
►
Sign in to add a comment |
||||
Comment 1 by rbyers@chromium.org
, Oct 26 2017