You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by ad...@apache.org on 2023/01/17 15:46:20 UTC
[doris] branch master updated: [chore](thirdparty) Update bitshuffle from 0.3.5 to 0.5.1 (#15993)
This is an automated email from the ASF dual-hosted git repository.
adonisling pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 3810727688 [chore](thirdparty) Update bitshuffle from 0.3.5 to 0.5.1 (#15993)
3810727688 is described below
commit 3810727688a3004788ce9289bda3ca61794cb921
Author: Kai Qiang Wu <wk...@gmail.com>
AuthorDate: Tue Jan 17 23:46:11 2023 +0800
[chore](thirdparty) Update bitshuffle from 0.3.5 to 0.5.1 (#15993)
In order to use AVX512 instructions. See #15972
---
thirdparty/build-thirdparty.sh | 15 +++++++++------
thirdparty/vars.sh | 8 ++++----
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh
index 934a2c441e..930c298e00 100755
--- a/thirdparty/build-thirdparty.sh
+++ b/thirdparty/build-thirdparty.sh
@@ -1035,11 +1035,11 @@ build_bitshuffle() {
cd "${TP_SOURCE_DIR}/${BITSHUFFLE_SOURCE}"
PREFIX="${TP_INSTALL_DIR}"
- # This library has significant optimizations when built with -mavx2. However,
- # we still need to support non-AVX2-capable hardware. So, we build it twice,
- # once with the flag and once without, and use some linker tricks to
- # suffix the AVX2 symbols with '_avx2'.
- arches=('default' 'avx2')
+ # This library has significant optimizations when built with AVX2/AVX512. However,
+ # we still need to support non-AVX2-capable hardware. So, we build it three times,
+ # with the flag AVX2, AVX512 each and once without, and use some linker tricks to
+ # suffix the AVX2 symbols with '_avx2', AVX512 symbols with '_avx512'
+ arches=('default' 'avx2' 'avx512')
MACHINE_TYPE="$(uname -m)"
# Becuase aarch64 don't support avx2, disable it.
if [[ "${MACHINE_TYPE}" == "aarch64" || "${MACHINE_TYPE}" == 'arm64' ]]; then
@@ -1052,6 +1052,9 @@ build_bitshuffle() {
if [[ "${arch}" == "avx2" ]]; then
arch_flag="-mavx2"
fi
+ if [[ "${arch}" == "avx512" ]]; then
+ arch_flag="-mavx512bw -mavx512f"
+ fi
tmp_obj="bitshuffle_${arch}_tmp.o"
dst_obj="bitshuffle_${arch}.o"
"${CC}" ${EXTRA_CFLAGS:+${EXTRA_CFLAGS}} ${arch_flag:+${arch_flag}} -std=c99 "-I${PREFIX}/include/lz4" -O3 -DNDEBUG -c \
@@ -1061,7 +1064,7 @@ build_bitshuffle() {
# Merge the object files together to produce a combined .o file.
"${ld}" -r -o "${tmp_obj}" bitshuffle_core.o bitshuffle.o iochain.o
# For the AVX2 symbols, suffix them.
- if [[ "${arch}" == "avx2" ]]; then
+ if [[ "${arch}" == "avx2" ]] || [[ "${arch}" == "avx512" ]]; then
local nm="${DORIS_BIN_UTILS}/nm"
local objcopy="${DORIS_BIN_UTILS}/objcopy"
diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh
index 3796070411..4315496c14 100644
--- a/thirdparty/vars.sh
+++ b/thirdparty/vars.sh
@@ -263,10 +263,10 @@ S2_SOURCE=s2geometry-0.10.0
S2_MD5SUM="c68f3c5d326dde9255681b9201393a9f"
# bitshuffle
-BITSHUFFLE_DOWNLOAD="https://github.com/kiyo-masui/bitshuffle/archive/0.3.5.tar.gz"
-BITSHUFFLE_NAME=bitshuffle-0.3.5.tar.gz
-BITSHUFFLE_SOURCE=bitshuffle-0.3.5
-BITSHUFFLE_MD5SUM="2648ec7ccd0b896595c6636d926fc867"
+BITSHUFFLE_DOWNLOAD="https://github.com/kiyo-masui/bitshuffle/archive/0.5.1.tar.gz"
+BITSHUFFLE_NAME=bitshuffle-0.5.1.tar.gz
+BITSHUFFLE_SOURCE=bitshuffle-0.5.1
+BITSHUFFLE_MD5SUM="b3bf6a9838927f7eb62214981c138e2f"
# croaringbitmap
CROARINGBITMAP_DOWNLOAD="https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v0.4.0.tar.gz"
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org