Using `VectorMath::DotProduct()` in GatedRecurrentLayer to reuse existing SIMD optimizations. Results: - When SSE2/AVX2 is avilable, the GRU layer takes 40% of the unoptimized code - The realtime factor for the VAD improved as follows - SSE2: from 570x to 630x - AVX2: from 610x to 680x This CL also improved the GRU layer benchmark by (i) benchmarking a GRU layer havibng the same size of that used in the VAD and (ii) by prefetching a long input sequence. Bug: webrtc:10480 Change-Id: I9716b15661e4c6b81592b4cf7c172d90e41b5223 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195545 Reviewed-by: Per Åhgren <peah@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32803}
1 line
40 B
Plaintext
1 line
40 B
Plaintext
402abf7a4e5d35abb78906fff2b3f4d8d24aa629 |