From 466d5efa888a9f066ed679385afc76c5a37f7142 Mon Sep 17 00:00:00 2001 From: joe maley Date: Tue, 11 Aug 2020 09:44:18 -0400 Subject: [PATCH] Disable TBB by default (#1762) This disables TBB by default in the bootstrap script. Using our `/test/benchmarking` benchmarks, there is no discernible difference between the end-to-end execution times or the individual execution times of the parallel functions. For example, here is are the results of the `bench_large_io` between the two: // Without TBB end-to-end: 267829 ms `parallel_for`: 271120 ms `parallel_for_2d`: 104 ms `parallel_sort`: 14447 ms // With TBB end-to-end: 269911 ms `parallel_for`: 273447 ms `parallel_for_2d`: 107 ms `parallel_sort`: 14382 ms Note that the "end-to-end" was measured with a different timing mechanism than the individual function timers. The individual function timers are also cumulative per thread. Co-authored-by: Joe Maley --- CMakeLists.txt | 2 +- HISTORY.md | 1 + azure-pipelines.yml | 1 - bootstrap | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b2c04f7067..c5b76212a6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,7 @@ option(TILEDB_HDFS "Enables HDFS support using the official Hadoop JNI bindings" option(TILEDB_WERROR "Enables the -Werror flag during compilation." ON) option(TILEDB_CPP_API "Enables building of the TileDB C++ API." ON) option(TILEDB_CMAKE_IDE "(Used for CLion builds). Disables superbuild and sets the EP install dir." OFF) -option(TILEDB_TBB "Enables use of TBB for parallelization." ON) +option(TILEDB_TBB "Enables use of TBB for parallelization." OFF) option(TILEDB_TBB_SHARED "If TBB is enabled, builds TBB as a shared library instead of static." OFF) option(TILEDB_STATS "Enables internal TileDB statistics gathering." ON) option(TILEDB_STATIC "Enables building TileDB as a static library." OFF) diff --git a/HISTORY.md b/HISTORY.md index 4dffb79523b..75434c30b99 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -25,6 +25,7 @@ ## Deprecations * Support for MacOS older than 10.13 is being dropped when using the AWS SDK. Prebuilt Binaries now target 10.13 [#1753](https://github.com/TileDB-Inc/TileDB/pull/1753) +* Use of Intel's Thread Building Blocks (TBB) will be discontinued in the future. It is now disabled by default [#1762](https://github.com/TileDB-Inc/TileDB/pull/1762) ## Bug fixes diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f842a30fcbd..60a5e98c8d7 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -49,7 +49,6 @@ stages: linux_asan: imageName: 'ubuntu-16.04' TILEDB_CI_ASAN: ON - TILEDB_TBB: OFF TILEDB_SERIALIZATION: ON CXX: g++-7 linux_serialization: diff --git a/bootstrap b/bootstrap index ee4335dfc0f..9f1c6517bf5 100755 --- a/bootstrap +++ b/bootstrap @@ -89,7 +89,7 @@ tiledb_werror="ON" tiledb_tests="ON" tiledb_cpp_api="ON" tiledb_force_all_deps="OFF" -tiledb_tbb="ON" +tiledb_tbb="OFF" tiledb_stats="ON" tiledb_static="OFF" tiledb_disable_avx2=""