impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Internal Jenkins (Code Review)" <ger...@cloudera.org>
Subject [Impala-ASF-CR] IMPALA-2809: Improve ByteSwap with builtin function or SSSE3 or AVX2.
Date Thu, 25 Aug 2016 21:33:01 GMT
Internal Jenkins has submitted this change and it was merged.

Change subject: IMPALA-2809: Improve ByteSwap with builtin function or SSSE3 or AVX2.
......................................................................


IMPALA-2809: Improve ByteSwap with builtin function or SSSE3 or AVX2.

Using SSSE3/AVX2 intrinsic to accelerate the function
"static inline void ByteSwap(void* dst, const void* src, int len)" of BitUtil class,
and a scalar byte-swap routine is added as fallback.
Also the runtime selector for CPUs of different capacity is included,
as well as performance test and data verification.
Brief performance comparison is listed here:
CPU: Intel(R) Core(TM) i5-4460  CPU@3.20GHz
Result:
I0725 20:47:02.402506  2078 bswap-benchmark.cc:117] Machine Info: Intel(R) Core(TM) i5-4460
 CPU @ 3.20GHz
ByteSwap benchmark:        Function  iters/ms   10%ile   50%ile   90%ile     10%ile     50%ile
    90%ile
                                                                         (relative) (relative)
(relative)
---------------------------------------------------------------------------------------------------------
                         FastScalar                675      725      731         1X      
  1X         1X
                              SSSE3           6.12e+03  6.2e+03 6.23e+03      9.06X      8.55X
     8.53X
                               AVX2           1.87e+04 1.88e+04 1.89e+04      27.7X      25.9X
     25.9X
                               SIMD           1.82e+04 1.88e+04 1.89e+04        27X      25.9X
     25.9X

Change-Id: I392ed5a8d5683f30f161282c228c1aedd7b648c1
Reviewed-on: http://gerrit.cloudera.org:8080/4124
Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
Tested-by: Internal Jenkins
---
M be/src/benchmarks/CMakeLists.txt
A be/src/benchmarks/bswap-benchmark.cc
M be/src/exprs/string-functions-ir.cc
M be/src/util/bit-util-test.cc
M be/src/util/bit-util.cc
M be/src/util/bit-util.h
6 files changed, 378 insertions(+), 51 deletions(-)

Approvals:
  Internal Jenkins: Verified
  Tim Armstrong: Looks good to me, approved



-- 
To view, visit http://gerrit.cloudera.org:8080/4124
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I392ed5a8d5683f30f161282c228c1aedd7b648c1
Gerrit-PatchSet: 2
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Tim Armstrong <tarmstrong@cloudera.com>
Gerrit-Reviewer: Internal Jenkins
Gerrit-Reviewer: Tim Armstrong <tarmstrong@cloudera.com>

Mime
View raw message