diff options
author | Ganael LAPLANCHE <martymac@FreeBSD.org> | 2021-02-19 15:14:46 +0000 |
---|---|---|
committer | Ganael LAPLANCHE <martymac@FreeBSD.org> | 2021-02-19 15:14:46 +0000 |
commit | 34fdd4dc58e2ebd98803c88ff8e684892954817c (patch) | |
tree | 204912d10c077dd7fe9cf6351801dbe1835e7b11 | |
parent | 8ec37e4f4203b2cdd0b58fb5c6b251153f72abb4 (diff) |
Notes
36 files changed, 456 insertions, 31 deletions
diff --git a/archivers/par2cmdline-tbb/Makefile b/archivers/par2cmdline-tbb/Makefile index b210571958ea..71485ac7e10e 100644 --- a/archivers/par2cmdline-tbb/Makefile +++ b/archivers/par2cmdline-tbb/Makefile @@ -3,7 +3,7 @@ PORTNAME= par2cmdline-tbb PORTVERSION= 20100203 -PORTREVISION= 21 +PORTREVISION= 22 CATEGORIES= archivers MASTER_SITES= http://chuchusoft.com/par2_tbb/ DISTNAME= par2cmdline-0.4-tbb-${PORTVERSION} @@ -13,12 +13,15 @@ COMMENT= Tools for using Parity v2 Archive files (tbb version) LICENSE= GPLv2 +DEPRECATED= Unmaintained upstream, does not build with oneTbb. Use archivers/par2cmdline instead +EXPIRATION_DATE=2021-04-30 ONLY_FOR_ARCHS= amd64 i386 LIB_DEPENDS= libtbb.so:devel/tbb -GNU_CONFIGURE= yes USES= autoreconf + +GNU_CONFIGURE= yes CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -pthread diff --git a/biology/bowtie2/Makefile b/biology/bowtie2/Makefile index d08202c62f7c..19b5c3765ddf 100644 --- a/biology/bowtie2/Makefile +++ b/biology/bowtie2/Makefile @@ -3,7 +3,7 @@ PORTNAME= bowtie2 DISTVERSIONPREFIX= v DISTVERSION= 2.4.2 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= biology perl5 python MAINTAINER= jwb@FreeBSD.org @@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE # Requires a 64-bit processor and depends on hard-coded SSE instructions # Experimental support for AARCH64 as of 2.3.5 ONLY_FOR_ARCHS= aarch64 amd64 -LIB_DEPENDS= libtbb.so:devel/tbb +LIB_DEPENDS= libtbb.so:devel/onetbb RUN_DEPENDS= bash:shells/bash USES= gmake localbase:ldflags perl5 python shebangfix diff --git a/cad/opencascade/Makefile b/cad/opencascade/Makefile index b70ea8552874..bce4a227f768 100644 --- a/cad/opencascade/Makefile +++ b/cad/opencascade/Makefile @@ -3,6 +3,7 @@ PORTNAME= opencascade PORTVERSION= 7.5.0 +PORTREVISION= 1 CATEGORIES= cad science MASTER_SITES= LOCAL/thierry @@ -19,8 +20,7 @@ BUILD_DEPENDS= rapidjson>0:devel/rapidjson \ ${LOCALBASE}/lib/qt5/bin/moc:devel/qt5-buildtools LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libvtksys-${VTKVER}.so:math/vtk8 \ - libfreetype.so:print/freetype2 \ - libtbb.so:devel/tbb + libfreetype.so:print/freetype2 RUN_DEPENDS= bash:shells/bash # Check ${WRKSRC}/dox/overview/overview.md @@ -57,13 +57,15 @@ CMAKE_ARGS+= -DINSTALL_DIR=${OCCROOT} \ -DINSTALL_DIR_SAMPLES=${OCCROOT}/samples \ -DINSTALL_DIR_TESTS=${OCCROOT}/tests \ -DINSTALL_TEST_CASES:BOOL=ON \ - -DUSE_TBB:BOOL=ON \ + -DUSE_TBB:BOOL=OFF \ -DUSE_RAPIDJSON:BOOL=ON \ -DUSE_VTK:BOOL=ON \ -DVTK_DIR:PATH=${LOCALBASE}/lib/vtk-${VTKVER}/cmake/vtk-${VTKVER} -#CMAKE_ARGS+= -DUSE_EIGEN:BOOL=ON +# TODO: TBB to be replaced by onetbb later +#CMAKE_ARGS+= -DUSE_EIGEN:BOOL=ON -DUSE_TBB:BOOL=ON #USES+= eigen:3 +#LIB_DEPENDS+= libtbb.so:devel/tbb USE_LDCONFIG= yes diff --git a/devel/Makefile b/devel/Makefile index 9ce0b50ff080..df2cb4996548 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1619,6 +1619,7 @@ SUBDIR += omake SUBDIR += omniORB SUBDIR += omnisharp-server + SUBDIR += onetbb SUBDIR += oniguruma SUBDIR += open-beagle SUBDIR += opencl diff --git a/devel/onetbb/Makefile b/devel/onetbb/Makefile new file mode 100644 index 000000000000..feeda631670f --- /dev/null +++ b/devel/onetbb/Makefile @@ -0,0 +1,38 @@ +# $FreeBSD$ + +PORTNAME= onetbb +PORTVERSION= 2021.1.1 +DISTVERSIONPREFIX= v +CATEGORIES= devel + +MAINTAINER= martymac@FreeBSD.org +COMMENT= Library that provides thread building blocks + +LICENSE= APACHE20 + +LIB_DEPENDS= libhwloc.so.15:devel/hwloc2 + +USES= cmake tar:tgz + +CMAKE_ARGS+= -DTBB_STRICT:BOOL=FALSE + +CONFLICTS= tbb-[0-9]* + +USE_GITHUB= yes +GH_ACCOUNT= oneapi-src +GH_PROJECT= oneTBB + +SUB_FILES= onetbb.pc +SUB_LIST= prefix="${PREFIX}" \ + name="${PORTNAME}" \ + description="${COMMENT}" \ + version="${PORTVERSION}" + +USE_LDCONFIG= yes + +.include <bsd.port.pre.mk> + +post-install: + ${INSTALL_DATA} ${WRKDIR}/onetbb.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig + +.include <bsd.port.post.mk> diff --git a/devel/onetbb/distinfo b/devel/onetbb/distinfo new file mode 100644 index 000000000000..b70c4947aeee --- /dev/null +++ b/devel/onetbb/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1608578552 +SHA256 (oneapi-src-oneTBB-v2021.1.1_GH0.tar.gz) = b182c73caaaabc44ddc5ad13113aca7e453af73c1690e4061f71dfe4935d74e8 +SIZE (oneapi-src-oneTBB-v2021.1.1_GH0.tar.gz) = 1062960 diff --git a/devel/onetbb/files/onetbb.pc.in b/devel/onetbb/files/onetbb.pc.in new file mode 100644 index 000000000000..3a229fe83b6c --- /dev/null +++ b/devel/onetbb/files/onetbb.pc.in @@ -0,0 +1,10 @@ +prefix=%%prefix%% +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: %%name%% +Description: %%description%% +Version: %%version%% +Libs: -L${libdir} -ltbb +Cflags: -I${includedir} diff --git a/devel/onetbb/files/patch-src-tbbbind-CMakeLists.txt b/devel/onetbb/files/patch-src-tbbbind-CMakeLists.txt new file mode 100644 index 000000000000..58c11a42c43a --- /dev/null +++ b/devel/onetbb/files/patch-src-tbbbind-CMakeLists.txt @@ -0,0 +1,11 @@ +Disable legacy hwloc lookup + +--- src/tbbbind/CMakeLists.txt.orig 2020-12-08 11:00:57 UTC ++++ src/tbbbind/CMakeLists.txt +@@ -82,5 +82,5 @@ macro(tbbbind_build TBBBIND_NAME HWLOC_VERSION) + endmacro() + + message(STATUS "Trying to find HWLOC (versions 2 and 1.11) to build TBBBind library") +-tbbbind_build(tbbbind 1.11) ++#tbbbind_build(tbbbind 1.11) + tbbbind_build(tbbbind_2_0 2) diff --git a/devel/onetbb/files/patch-test-common-memory_usage.h b/devel/onetbb/files/patch-test-common-memory_usage.h new file mode 100644 index 000000000000..c1813d83c17a --- /dev/null +++ b/devel/onetbb/files/patch-test-common-memory_usage.h @@ -0,0 +1,12 @@ +--- test/common/memory_usage.h.orig 2020-12-08 11:00:57 UTC ++++ test/common/memory_usage.h +@@ -119,7 +119,8 @@ namespace utils { + ASSERT(status == KERN_SUCCESS, NULL); + return info.virtual_size - shared_size; + #else +- return 0; ++ // Use stat var to work around unused parameter error ++ return stat == currentUsage ? 0 : 0; + #endif + } + diff --git a/devel/onetbb/files/patch-test-tbbmalloc-test_malloc_compliance.cpp b/devel/onetbb/files/patch-test-tbbmalloc-test_malloc_compliance.cpp new file mode 100644 index 000000000000..893228604321 --- /dev/null +++ b/devel/onetbb/files/patch-test-tbbmalloc-test_malloc_compliance.cpp @@ -0,0 +1,13 @@ +error: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'rlim_t' (aka 'long') + +--- test/tbbmalloc/test_malloc_compliance.cpp.orig 2020-12-08 11:00:57 UTC ++++ test/tbbmalloc/test_malloc_compliance.cpp +@@ -91,7 +91,7 @@ void limitMem( size_t limit ) + } + if (rlim.rlim_max==(rlim_t)RLIM_INFINITY) + rlim.rlim_cur = (limit > 0) ? limit*MByte : rlim.rlim_max; +- else rlim.rlim_cur = (limit > 0 && limit<rlim.rlim_max) ? limit*MByte : rlim.rlim_max; ++ else rlim.rlim_cur = (limit > 0 && limit<(size_t)rlim.rlim_max) ? limit*MByte : rlim.rlim_max; + ret = setrlimit(RLIMIT_AS,&rlim); + if (0 != ret) { + REPORT("Can't set limits: errno %d\n", errno); diff --git a/devel/onetbb/pkg-descr b/devel/onetbb/pkg-descr new file mode 100644 index 000000000000..8ca892dc9389 --- /dev/null +++ b/devel/onetbb/pkg-descr @@ -0,0 +1,5 @@ +oneAPI Threading Building Blocks (oneTBB) lets you easily write parallel C++ +programs that take full advantage of multicore performance, that are portable, +composable and have future-proof scalability. + +WWW: https://software.intel.com/oneapi/onetbb diff --git a/devel/onetbb/pkg-plist b/devel/onetbb/pkg-plist new file mode 100644 index 000000000000..642e39c2a4a9 --- /dev/null +++ b/devel/onetbb/pkg-plist @@ -0,0 +1,146 @@ +include/oneapi/tbb.h +include/oneapi/tbb/blocked_range.h +include/oneapi/tbb/blocked_range2d.h +include/oneapi/tbb/blocked_range3d.h +include/oneapi/tbb/blocked_rangeNd.h +include/oneapi/tbb/cache_aligned_allocator.h +include/oneapi/tbb/combinable.h +include/oneapi/tbb/concurrent_hash_map.h +include/oneapi/tbb/concurrent_lru_cache.h +include/oneapi/tbb/concurrent_map.h +include/oneapi/tbb/concurrent_priority_queue.h +include/oneapi/tbb/concurrent_queue.h +include/oneapi/tbb/concurrent_set.h +include/oneapi/tbb/concurrent_unordered_map.h +include/oneapi/tbb/concurrent_unordered_set.h +include/oneapi/tbb/concurrent_vector.h +include/oneapi/tbb/detail/_aggregator.h +include/oneapi/tbb/detail/_aligned_space.h +include/oneapi/tbb/detail/_allocator_traits.h +include/oneapi/tbb/detail/_assert.h +include/oneapi/tbb/detail/_concurrent_queue_base.h +include/oneapi/tbb/detail/_concurrent_skip_list.h +include/oneapi/tbb/detail/_concurrent_unordered_base.h +include/oneapi/tbb/detail/_config.h +include/oneapi/tbb/detail/_containers_helpers.h +include/oneapi/tbb/detail/_exception.h +include/oneapi/tbb/detail/_flow_graph_body_impl.h +include/oneapi/tbb/detail/_flow_graph_cache_impl.h +include/oneapi/tbb/detail/_flow_graph_impl.h +include/oneapi/tbb/detail/_flow_graph_indexer_impl.h +include/oneapi/tbb/detail/_flow_graph_item_buffer_impl.h +include/oneapi/tbb/detail/_flow_graph_join_impl.h +include/oneapi/tbb/detail/_flow_graph_node_impl.h +include/oneapi/tbb/detail/_flow_graph_node_set_impl.h +include/oneapi/tbb/detail/_flow_graph_nodes_deduction.h +include/oneapi/tbb/detail/_flow_graph_tagged_buffer_impl.h +include/oneapi/tbb/detail/_flow_graph_trace_impl.h +include/oneapi/tbb/detail/_flow_graph_types_impl.h +include/oneapi/tbb/detail/_hash_compare.h +include/oneapi/tbb/detail/_machine.h +include/oneapi/tbb/detail/_namespace_injection.h +include/oneapi/tbb/detail/_node_handle.h +include/oneapi/tbb/detail/_pipeline_filters.h +include/oneapi/tbb/detail/_pipeline_filters_deduction.h +include/oneapi/tbb/detail/_range_common.h +include/oneapi/tbb/detail/_rtm_mutex.h +include/oneapi/tbb/detail/_rtm_rw_mutex.h +include/oneapi/tbb/detail/_segment_table.h +include/oneapi/tbb/detail/_small_object_pool.h +include/oneapi/tbb/detail/_string_resource.h +include/oneapi/tbb/detail/_task.h +include/oneapi/tbb/detail/_template_helpers.h +include/oneapi/tbb/detail/_utils.h +include/oneapi/tbb/enumerable_thread_specific.h +include/oneapi/tbb/flow_graph.h +include/oneapi/tbb/flow_graph_abstractions.h +include/oneapi/tbb/global_control.h +include/oneapi/tbb/info.h +include/oneapi/tbb/memory_pool.h +include/oneapi/tbb/null_mutex.h +include/oneapi/tbb/null_rw_mutex.h +include/oneapi/tbb/parallel_for.h +include/oneapi/tbb/parallel_for_each.h +include/oneapi/tbb/parallel_invoke.h +include/oneapi/tbb/parallel_pipeline.h +include/oneapi/tbb/parallel_reduce.h +include/oneapi/tbb/parallel_scan.h +include/oneapi/tbb/parallel_sort.h +include/oneapi/tbb/partitioner.h +include/oneapi/tbb/profiling.h +include/oneapi/tbb/queuing_mutex.h +include/oneapi/tbb/queuing_rw_mutex.h +include/oneapi/tbb/scalable_allocator.h +include/oneapi/tbb/spin_mutex.h +include/oneapi/tbb/spin_rw_mutex.h +include/oneapi/tbb/task.h +include/oneapi/tbb/task_arena.h +include/oneapi/tbb/task_group.h +include/oneapi/tbb/task_scheduler_observer.h +include/oneapi/tbb/tbb_allocator.h +include/oneapi/tbb/tbbmalloc_proxy.h +include/oneapi/tbb/tick_count.h +include/oneapi/tbb/version.h +include/tbb/blocked_range.h +include/tbb/blocked_range2d.h +include/tbb/blocked_range3d.h +include/tbb/blocked_rangeNd.h +include/tbb/cache_aligned_allocator.h +include/tbb/combinable.h +include/tbb/concurrent_hash_map.h +include/tbb/concurrent_lru_cache.h +include/tbb/concurrent_map.h +include/tbb/concurrent_priority_queue.h +include/tbb/concurrent_queue.h +include/tbb/concurrent_set.h +include/tbb/concurrent_unordered_map.h +include/tbb/concurrent_unordered_set.h +include/tbb/concurrent_vector.h +include/tbb/enumerable_thread_specific.h +include/tbb/flow_graph.h +include/tbb/flow_graph_abstractions.h +include/tbb/global_control.h +include/tbb/info.h +include/tbb/memory_pool.h +include/tbb/null_mutex.h +include/tbb/null_rw_mutex.h +include/tbb/parallel_for.h +include/tbb/parallel_for_each.h +include/tbb/parallel_invoke.h +include/tbb/parallel_pipeline.h +include/tbb/parallel_reduce.h +include/tbb/parallel_scan.h +include/tbb/parallel_sort.h +include/tbb/partitioner.h +include/tbb/profiling.h +include/tbb/queuing_mutex.h +include/tbb/queuing_rw_mutex.h +include/tbb/scalable_allocator.h +include/tbb/spin_mutex.h +include/tbb/spin_rw_mutex.h +include/tbb/task.h +include/tbb/task_arena.h +include/tbb/task_group.h +include/tbb/task_scheduler_observer.h +include/tbb/tbb.h +include/tbb/tbb_allocator.h +include/tbb/tbbmalloc_proxy.h +include/tbb/tick_count.h +include/tbb/version.h +lib/cmake/TBB/TBBConfig.cmake +lib/cmake/TBB/TBBConfigVersion.cmake +lib/cmake/TBB/TBBTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/TBB/TBBTargets.cmake +lib/libtbb.so +lib/libtbb.so.12 +lib/libtbb.so.12.1 +lib/libtbbbind_2_0.so +lib/libtbbbind_2_0.so.3 +lib/libtbbbind_2_0.so.3.1 +lib/libtbbmalloc.so +lib/libtbbmalloc.so.2 +lib/libtbbmalloc.so.2.1 +lib/libtbbmalloc_proxy.so +lib/libtbbmalloc_proxy.so.2 +lib/libtbbmalloc_proxy.so.2.1 +libdata/pkgconfig/onetbb.pc diff --git a/devel/tbb/Makefile b/devel/tbb/Makefile index 58f49239c3e2..aa444b70742f 100644 --- a/devel/tbb/Makefile +++ b/devel/tbb/Makefile @@ -3,12 +3,12 @@ PORTNAME= tbb PORTVERSION= 2020.3 -PORTREVISION= 1 DISTVERSIONPREFIX= v +PORTREVISION= 2 CATEGORIES= devel MAINTAINER= martymac@FreeBSD.org -COMMENT= Library that provides thread building blocks +COMMENT= Library that provides thread building blocks (legacy version) LICENSE= APACHE20 @@ -17,6 +17,8 @@ ONLY_FOR_ARCHS_REASON= has not been ported to this platform USES= compiler gmake tar:tgz +CONFLICTS= onetbb-[0-9]* + USE_GITHUB= yes GH_ACCOUNT= oneapi-src GH_PROJECT= oneTBB diff --git a/devel/tbb/pkg-descr b/devel/tbb/pkg-descr index 693df903cb4c..6ff8e5cba93b 100644 --- a/devel/tbb/pkg-descr +++ b/devel/tbb/pkg-descr @@ -6,4 +6,7 @@ is not just a threads-replacement library. It represents a higher-level, task-based parallelism that abstracts platform details and threading mechanism for performance and scalability. +That port is the legacy version of tbb and will not be updated anymore. +See devel/onetbb for newer versions. + WWW: http://threadingbuildingblocks.org/ diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile index 58bffc17cbf6..c7159dc67ad4 100644 --- a/graphics/blender/Makefile +++ b/graphics/blender/Makefile @@ -155,7 +155,7 @@ SDL_USES= sdl SNDFILE_CMAKE_BOOL= WITH_CODEC_SNDFILE SNDFILE_LIB_DEPENDS= libsndfile.so:audio/libsndfile TBB_CMAKE_BOOL= WITH_TBB -TBB_LIB_DEPENDS= libtbb.so:devel/tbb +TBB_LIB_DEPENDS= libtbb.so:devel/onetbb TIFF_CMAKE_BOOL= WITH_IMAGE_TIFF TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff TRACE_CMAKE_BOOL= WITH_POTRACE diff --git a/graphics/blender/Makefile.options b/graphics/blender/Makefile.options index cb5c09060b40..03b839fbd712 100644 --- a/graphics/blender/Makefile.options +++ b/graphics/blender/Makefile.options @@ -80,7 +80,6 @@ OPTIONS_DEFAULT= \ OPENEXR \ OPENIMAGEIO \ OPENSUBDIV \ - OPENVDB \ RAYOPTIMIZATION \ SDL \ TBB \ @@ -88,8 +87,11 @@ OPTIONS_DEFAULT= \ TRACE \ XINPUT \ XF86VMODE +# off during onetbb transition +# OPENVDB -OPTIONS_DEFAULT_amd64= CAMERATRACK CYCLESEMBR OPENIMAGEDN +# OPENIMAGEDN +OPTIONS_DEFAULT_amd64= CAMERATRACK CYCLESEMBR ALEMBIC_DESC= Enable Alembic file support ALEMBIC_HDF5_DESC= Enable Alembic hdf5 file support diff --git a/graphics/blender/files/patch-intern_cycles_device_device__cpu.cpp b/graphics/blender/files/patch-intern_cycles_device_device__cpu.cpp new file mode 100644 index 000000000000..398b3e682382 --- /dev/null +++ b/graphics/blender/files/patch-intern_cycles_device_device__cpu.cpp @@ -0,0 +1,38 @@ +--- intern/cycles/device/device_cpu.cpp.orig 2021-01-21 07:59:12 UTC ++++ intern/cycles/device/device_cpu.cpp +@@ -927,7 +927,7 @@ class CPUDevice : public Device { + SIMD_SET_FLUSH_TO_ZERO; + + for (int sample = start_sample; sample < end_sample; sample++) { +- if (task.get_cancel() || task_pool.canceled()) { ++ if (task.get_cancel() || TaskPool::canceled()) { + if (task.need_finish_queue == false) + break; + } +@@ -1220,7 +1220,7 @@ class CPUDevice : public Device { + + void thread_render(DeviceTask &task) + { +- if (task_pool.canceled()) { ++ if (TaskPool::canceled()) { + if (task.need_finish_queue == false) + return; + } +@@ -1290,7 +1290,7 @@ class CPUDevice : public Device { + + task.release_tile(tile); + +- if (task_pool.canceled()) { ++ if (TaskPool::canceled()) { + if (task.need_finish_queue == false) + break; + } +@@ -1387,7 +1387,7 @@ class CPUDevice : public Device { + task.offset, + sample); + +- if (task.get_cancel() || task_pool.canceled()) ++ if (task.get_cancel() || TaskPool::canceled()) + break; + + task.update_progress(NULL); diff --git a/graphics/blender/files/patch-intern_cycles_util_util__task.cpp b/graphics/blender/files/patch-intern_cycles_util_util__task.cpp new file mode 100644 index 000000000000..a31068b686a4 --- /dev/null +++ b/graphics/blender/files/patch-intern_cycles_util_util__task.cpp @@ -0,0 +1,11 @@ +--- intern/cycles/util/util_task.cpp.orig 2021-01-21 08:00:29 UTC ++++ intern/cycles/util/util_task.cpp +@@ -62,7 +62,7 @@ void TaskPool::cancel() + + bool TaskPool::canceled() + { +- return tbb_group.is_canceling(); ++ return tbb::is_current_task_group_canceling(); + } + + /* Task Scheduler */ diff --git a/graphics/blender/files/patch-intern_cycles_util_util__task.h b/graphics/blender/files/patch-intern_cycles_util_util__task.h new file mode 100644 index 000000000000..41ea4413d332 --- /dev/null +++ b/graphics/blender/files/patch-intern_cycles_util_util__task.h @@ -0,0 +1,11 @@ +--- intern/cycles/util/util_task.h.orig 2021-01-21 08:01:04 UTC ++++ intern/cycles/util/util_task.h +@@ -61,7 +61,7 @@ class TaskPool { + void wait_work(Summary *stats = NULL); /* work and wait until all tasks are done */ + void cancel(); /* cancel all tasks and wait until they are no longer executing */ + +- bool canceled(); /* for worker threads, test if canceled */ ++ static bool canceled(); /* For worker threads, test if current task pool canceled. */ + + protected: + tbb::task_group tbb_group; diff --git a/graphics/blender/files/patch-intern_cycles_util_util__tbb.h b/graphics/blender/files/patch-intern_cycles_util_util__tbb.h new file mode 100644 index 000000000000..b9b33486db66 --- /dev/null +++ b/graphics/blender/files/patch-intern_cycles_util_util__tbb.h @@ -0,0 +1,17 @@ +--- intern/cycles/util/util_tbb.h.orig 2021-01-23 14:10:16 UTC ++++ intern/cycles/util/util_tbb.h +@@ -36,7 +36,14 @@ using tbb::parallel_for; + + static inline void parallel_for_cancel() + { ++#if TBB_INTERFACE_VERSION_MAJOR >= 12 ++ tbb::task_group_context *ctx = tbb::task::current_context(); ++ if (ctx) { ++ ctx->cancel_group_execution(); ++ } ++#else + tbb::task::self().cancel_group_execution(); ++#endif + } + + CCL_NAMESPACE_END diff --git a/graphics/blender/files/patch-source_blender_blenlib_BLI__index__range.hh b/graphics/blender/files/patch-source_blender_blenlib_BLI__index__range.hh new file mode 100644 index 000000000000..b9e978dcea1c --- /dev/null +++ b/graphics/blender/files/patch-source_blender_blenlib_BLI__index__range.hh @@ -0,0 +1,26 @@ +--- source/blender/blenlib/BLI_index_range.hh.orig 2021-01-23 14:11:28 UTC ++++ source/blender/blenlib/BLI_index_range.hh +@@ -58,11 +58,6 @@ + + #include "BLI_utildefines.h" + +-/* Forward declare tbb::blocked_range for conversion operations. */ +-namespace tbb { +-template<typename Value> class blocked_range; +-} +- + namespace blender { + + template<typename T> class Span; +@@ -84,11 +79,6 @@ class IndexRange { + { + BLI_assert(start >= 0); + BLI_assert(size >= 0); +- } +- +- template<typename T> +- IndexRange(const tbb::blocked_range<T> &range) : start_(range.begin()), size_(range.size()) +- { + } + + class Iterator { diff --git a/graphics/blender/files/patch-source_blender_blenlib_BLI__task.h b/graphics/blender/files/patch-source_blender_blenlib_BLI__task.h new file mode 100644 index 000000000000..10381ae933a7 --- /dev/null +++ b/graphics/blender/files/patch-source_blender_blenlib_BLI__task.h @@ -0,0 +1,15 @@ +--- source/blender/blenlib/BLI_task.h.orig 2021-01-21 08:02:26 UTC ++++ source/blender/blenlib/BLI_task.h +@@ -104,8 +104,10 @@ void BLI_task_pool_work_and_wait(TaskPool *pool); + /* cancel all tasks, keep worker threads running */ + void BLI_task_pool_cancel(TaskPool *pool); + +-/* for worker threads, test if canceled */ +-bool BLI_task_pool_canceled(TaskPool *pool); ++/* for worker threads, test if current task pool canceled. this function may ++ * only be called from worker threads and pool must be the task pool that the ++ * thread is currently executing a task from. */ ++bool BLI_task_pool_current_canceled(TaskPool *pool); + + /* optional userdata pointer to pass along to run function */ + void *BLI_task_pool_user_data(TaskPool *pool); diff --git a/graphics/blender/files/patch-source_blender_blenlib_intern_task__pool.cc b/graphics/blender/files/patch-source_blender_blenlib_intern_task__pool.cc new file mode 100644 index 000000000000..d29dbe5a7329 --- /dev/null +++ b/graphics/blender/files/patch-source_blender_blenlib_intern_task__pool.cc @@ -0,0 +1,41 @@ +--- source/blender/blenlib/intern/task_pool.cc.orig 2020-11-25 19:01:32 UTC ++++ source/blender/blenlib/intern/task_pool.cc +@@ -131,6 +131,12 @@ class TBBTaskGroup : public tbb::task_group { + public: + TBBTaskGroup(TaskPriority priority) + { ++# if TBB_INTERFACE_VERSION_MAJOR >= 12 ++ /* TODO: support priorities in TBB 2021, where they are only available as ++ * part of task arenas, no longer for task groups. Or remove support for ++ * task priorities if they are no longer useful. */ ++ UNUSED_VARS(priority); ++# else + switch (priority) { + case TASK_PRIORITY_LOW: + my_context.set_priority(tbb::priority_low); +@@ -139,6 +145,7 @@ class TBBTaskGroup : public tbb::task_group { + my_context.set_priority(tbb::priority_normal); + break; + } ++#endif + } + + ~TBBTaskGroup() +@@ -268,7 +275,7 @@ static bool tbb_task_pool_canceled(TaskPool *pool) + { + #ifdef WITH_TBB + if (pool->use_threads) { +- return pool->tbb_group.is_canceling(); ++ return tbb::is_current_task_group_canceling(); + } + #else + UNUSED_VARS(pool); +@@ -520,7 +527,7 @@ void BLI_task_pool_cancel(TaskPool *pool) + } + } + +-bool BLI_task_pool_canceled(TaskPool *pool) ++bool BLI_task_pool_current_canceled(TaskPool *pool) + { + switch (pool->type) { + case TASK_POOL_TBB: diff --git a/graphics/embree/Makefile b/graphics/embree/Makefile index 39afeee981a3..7a58fb36deec 100644 --- a/graphics/embree/Makefile +++ b/graphics/embree/Makefile @@ -4,6 +4,7 @@ PORTNAME= embree PORTVERSION= 3.12.1 DISTVERSIONPREFIX= v +PORTREVISION= 1 CATEGORIES= graphics MAINTAINER= danfe@FreeBSD.org @@ -40,7 +41,7 @@ EXAMPLES_USE= GL=gl,glu,glut XORG=x11,xau,xcb,xdmcp EXAMPLES_CMAKE_OFF= -DEMBREE_TUTORIALS:BOOL=OFF TBB_DESC= Use Intel TBB (optimal performance) -TBB_LIB_DEPENDS= libtbb.so:devel/tbb +TBB_LIB_DEPENDS= libtbb.so:devel/onetbb TBB_VARS= _ETS=TBB TBB_VARS_OFF= _ETS=INTERNAL diff --git a/graphics/oidn/Makefile b/graphics/oidn/Makefile index 9210826cc9cc..5aa3802e8d8c 100644 --- a/graphics/oidn/Makefile +++ b/graphics/oidn/Makefile @@ -3,6 +3,7 @@ PORTNAME= oidn DISTVERSIONPREFIX= v DISTVERSION= 1.3.0 +PORTREVISION= 1 CATEGORIES= graphics MASTER_SITES= http://freebsd.org/:weights # bogus URL to make the framework happy, the fetch uses Git URL below DISTFILES= ${PORTNAME}-weights-${WEIGHTS_GIT_HASH}${EXTRACT_SUFX}:weights @@ -19,7 +20,7 @@ ONLY_FOR_ARCHS_REASON= Intel(R) MKL-DNN supports x86 64 bit platforms only (oidn FETCH_DEPENDS= git:devel/git \ git-lfs:devel/git-lfs BUILD_DEPENDS= ispc>=1.14.1:devel/ispc -LIB_DEPENDS= libtbb.so:devel/tbb +LIB_DEPENDS= libtbb.so:devel/onetbb USES= cmake:noninja compiler:c++11-lang python:build USE_LDCONFIG= yes diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile index 0614a5fe81e2..c36c06faf1d2 100644 --- a/graphics/opencv/Makefile +++ b/graphics/opencv/Makefile @@ -25,9 +25,9 @@ LIB_DEPENDS= \ libhdf5.so:science/hdf5 \ libopenblas.so:math/openblas \ libpng16.so:graphics/png \ - libtbb.so:devel/tbb \ libtiff.so:graphics/tiff \ - libwebp.so:graphics/webp \ + libwebp.so:graphics/webp +# libtbb.so:devel/tbb USES= cmake compiler:c++14-lang eigen:3 jpeg localbase:ldflags pkgconfig python:3.6+,build USE_GITHUB= yes @@ -50,12 +50,13 @@ CMAKE_ON= \ WITH_OPENEXR \ WITH_OPENGL \ WITH_PNG \ - WITH_TBB \ WITH_TIFF \ WITH_VULKAN \ WITH_WEBP \ OPENCV_GENERATE_PKGCONFIG \ OPENCV_ENABLE_NONFREE +# Disabled during tbb migration: not oneTBB-compatible +# WITH_TBB CMAKE_OFF= OPENCV_GENERATE_SETUPVARS \ BUILD_opencv_python2 \ BUILD_TESTS diff --git a/graphics/openimageio/Makefile b/graphics/openimageio/Makefile index e2c04b41dfd3..fbb723c87704 100644 --- a/graphics/openimageio/Makefile +++ b/graphics/openimageio/Makefile @@ -86,7 +86,7 @@ RAW_LIB_DEPENDS= libraw_r.so:graphics/libraw TBB_DESC= Intel tbb support TBB_CMAKE_BOOL= USE_TBB -TBB_LIB_DEPENDS= libtbb.so:devel/tbb +TBB_LIB_DEPENDS= libtbb.so:devel/onetbb TEST_CMAKE_BOOL= OIIO_BUILD_TESTS diff --git a/math/dune-common/Makefile b/math/dune-common/Makefile index d198f2dc8bbe..b5f424720b14 100644 --- a/math/dune-common/Makefile +++ b/math/dune-common/Makefile @@ -3,6 +3,7 @@ PORTNAME= dune-common DISTVERSIONPREFIX= v DISTVERSION= 2.7.1 +PORTREVISION= 1 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org @@ -14,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md BUILD_DEPENDS= openmpi>0:net/openmpi \ vc>0:devel/vc LIB_DEPENDS= libopenblas.so:math/openblas \ - libtbb.so:devel/tbb + libtbb.so:devel/onetbb USES= cmake compiler:c++17-lang fortran pkgconfig python shebangfix SHEBANG_FILES= bin/dune-ctest cmake/scripts/extract_cmake_data.py @@ -26,6 +27,7 @@ GL_ACCOUNT= core GL_COMMIT= aa689abba532f40db8f5663fa379ea77211c1953 CMAKE_ON= BUILD_SHARED_LIBS +CMAKE_ARGS= -DTBB_INCLUDE_DIR=${LOCALBASE}/include -DTBB_LIBRARIES=${LOCALBASE}/lib/libtbb.so OPTIONS_DEFINE= DOCS DOXYGEN OPTIONS_SUB= yes diff --git a/math/dune-geometry/Makefile b/math/dune-geometry/Makefile index 58f0ac5689c0..4b2aece4f01a 100644 --- a/math/dune-geometry/Makefile +++ b/math/dune-geometry/Makefile @@ -3,6 +3,7 @@ PORTNAME= dune-geometry DISTVERSIONPREFIX= v DISTVERSION= 2.7.1 +PORTREVISION= 1 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org @@ -15,7 +16,7 @@ BUILD_DEPENDS= openmpi>0:net/openmpi \ vc>0:devel/vc LIB_DEPENDS= libdunecommon.so:math/dune-common \ libopenblas.so:math/openblas \ - libtbb.so:devel/tbb + libtbb.so:devel/onetbb USES= cmake compiler:c++17-lang fortran pkgconfig python USE_GITLAB= yes @@ -26,6 +27,7 @@ GL_ACCOUNT= core GL_COMMIT= 9d56be3e286bc761dd5d453332a8d793eff00cbe CMAKE_ON= BUILD_SHARED_LIBS +CMAKE_ARGS= -DTBB_INCLUDE_DIR=${LOCALBASE}/include -DTBB_LIBRARIES=${LOCALBASE}/lib/libtbb.so OPTIONS_DEFINE= DOCS OPTIONS_SUB= yes diff --git a/math/dune-grid/Makefile b/math/dune-grid/Makefile index ebdc48dfa148..0aa1adb45751 100644 --- a/math/dune-grid/Makefile +++ b/math/dune-grid/Makefile @@ -3,6 +3,7 @@ PORTNAME= dune-grid DISTVERSIONPREFIX= v DISTVERSION= 2.7.1 +PORTREVISION= 1 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org @@ -17,7 +18,7 @@ LIB_DEPENDS= libdunecommon.so:math/dune-common \ libdunegeometry.so:math/dune-geometry \ libugL.so:math/dune-uggrid \ libopenblas.so:math/openblas \ - libtbb.so:devel/tbb + libtbb.so:devel/onetbb USES= cmake compiler:c++17-lang fortran pkgconfig python:build USE_GITLAB= yes @@ -28,6 +29,7 @@ GL_ACCOUNT= core GL_COMMIT= b7741c6599528bc42017e25f70eb6dd3b5780277 CMAKE_ON= BUILD_SHARED_LIBS +CMAKE_ARGS= -DTBB_INCLUDE_DIR=${LOCALBASE}/include -DTBB_LIBRARIES=${LOCALBASE}/lib/libtbb.so OPTIONS_DEFINE= DOCS OPTIONS_SUB= yes diff --git a/math/dune-pdelab/Makefile b/math/dune-pdelab/Makefile index 3b4452e103da..ab2a7ad598f7 100644 --- a/math/dune-pdelab/Makefile +++ b/math/dune-pdelab/Makefile @@ -3,6 +3,7 @@ PORTNAME= dune-pdelab DISTVERSIONPREFIX= v DISTVERSION= 2.7.0 +PORTREVISION= 1 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org @@ -28,7 +29,7 @@ LIB_DEPENDS= libarpack.so:math/arpack-ng \ libopenblas.so:math/openblas \ libsuitesparseconfig.so:math/suitesparse \ libsuperlu.so:math/superlu \ - libtbb.so:devel/tbb + libtbb.so:devel/onetbb RUN_DEPENDS= ${DUNE_DEPENDS} \ ${LOCALBASE}/mpi/openmpi/lib/libmpi.so:net/openmpi @@ -41,6 +42,7 @@ GL_ACCOUNT= pdelab GL_COMMIT= 33aaa8e2e0598c98e17c3e38973307bee45858fb CMAKE_ON= BUILD_SHARED_LIBS +CMAKE_ARGS= -DTBB_INCLUDE_DIR=${LOCALBASE}/include -DTBB_LIBRARIES=${LOCALBASE}/lib/libtbb.so OPTIONS_DEFINE= DOCS OPTIONS_SUB= yes diff --git a/math/dune-uggrid/Makefile b/math/dune-uggrid/Makefile index c0e9b37d5fec..4c00218c8209 100644 --- a/math/dune-uggrid/Makefile +++ b/math/dune-uggrid/Makefile @@ -3,6 +3,7 @@ PORTNAME= dune-uggrid DISTVERSIONPREFIX= v DISTVERSION= 2.7.1 +PORTREVISION= 1 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org @@ -15,7 +16,7 @@ BUILD_DEPENDS= openmpi>0:net/openmpi \ vc>0:devel/vc LIB_DEPENDS= libdunecommon.so:math/dune-common \ libopenblas.so:math/openblas \ - libtbb.so:devel/tbb + libtbb.so:devel/onetbb RUN_DEPENDS= openmpi>0:net/openmpi USES= cmake compiler:c++17-lang fortran pkgconfig python @@ -27,5 +28,6 @@ GL_ACCOUNT= staging GL_COMMIT= d214484ccef1a474fa283ad8f9c0e39873e5f34c CMAKE_ON= BUILD_SHARED_LIBS +CMAKE_ARGS= -DTBB_INCLUDE_DIR=${LOCALBASE}/include -DTBB_LIBRARIES=${LOCALBASE}/lib/libtbb.so .include <bsd.port.mk> diff --git a/math/openturns/Makefile b/math/openturns/Makefile index ac2dd983de87..3dff76c5cfd3 100644 --- a/math/openturns/Makefile +++ b/math/openturns/Makefile @@ -3,7 +3,7 @@ PORTNAME= openturns DISTVERSIONPREFIX= v DISTVERSION= 1.16 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org @@ -27,7 +27,7 @@ LIB_DEPENDS= libbonmin.so:math/bonmin \ libnlopt.so:math/nlopt \ libopt.so:math/optpp \ libsz.so:science/szip \ - libtbb.so:devel/tbb + libtbb.so:devel/onetbb USES= bison blaslapack:openblas cmake compiler:c++11-lang eigen:3 gnome localbase:ldflags pkgconfig USE_GITHUB= yes diff --git a/math/saga/Makefile b/math/saga/Makefile index 56cbe44a035e..f3676df24009 100644 --- a/math/saga/Makefile +++ b/math/saga/Makefile @@ -3,7 +3,7 @@ PORTNAME= saga PORTVERSION= 7.9.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= math MASTER_SITES= SF/saga-gis/SAGA%20-%20${PORTVERSION:C/\.[[:digit:]]\.[[:digit:]]*$//}/SAGA%20-%20${PORTVERSION} @@ -26,7 +26,7 @@ LIB_DEPENDS= libcurl.so:ftp/curl \ libpdal_base.so:math/pdal \ libproj.so:graphics/proj \ libsvm.so:science/libsvm \ - libtbb.so:devel/tbb \ + libtbb.so:devel/onetbb \ libtiff.so:graphics/tiff RUN_DEPENDS:= swig:devel/swig diff --git a/math/suitesparse/Makefile b/math/suitesparse/Makefile index 1c0a132054fd..6ea0d6342c98 100644 --- a/math/suitesparse/Makefile +++ b/math/suitesparse/Makefile @@ -4,6 +4,7 @@ PORTNAME= suitesparse PORTVERSION= 5.8.1 DISTVERSIONPREFIX= v +PORTREVISION= 1 CATEGORIES= math MAINTAINER= fortran@FreeBSD.org @@ -36,7 +37,7 @@ LDFLAGS+= -L${WRKSRC}/lib # prevent linking with shared libs from the preinstall CONFLICTS_INSTALL= mongoose plinkseq # bin/mongoose -OPTIONS_DEFINE= DEMOS DOCS OPENMP TBB +OPTIONS_DEFINE= DEMOS DOCS OPENMP # TBB OPTIONS_EXCLUDE_aarch64= OPENMP OPTIONS_RADIO= BLAS OPTIONS_RADIO_BLAS= ATLAS GOTOBLAS NETLIB OPENBLAS @@ -61,6 +62,7 @@ DEMOS_ALL_TARGET_OFF= library TBB_DESC= Intel threading building blocks TBB_LIB_DEPENDS= libtbb.so:devel/tbb TBB_MAKE_ENV= TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" +TBB_BROKEN= oneTBB doesn't provide tbb/task_scheduler_init.h any more, see PR 252651 MODULES= AMD CAMD CCOLAMD CHOLMOD COLAMD CSparse CXSparse_newfiles \ CXSparse GPUQREngine KLU LDL RBio SPQR UMFPACK diff --git a/misc/ngraph/Makefile b/misc/ngraph/Makefile index 4610f8421552..cdccdfcf912e 100644 --- a/misc/ngraph/Makefile +++ b/misc/ngraph/Makefile @@ -4,7 +4,7 @@ PORTNAME= ngraph DISTVERSIONPREFIX= v DISTVERSION= 0.29.0-rc.0-345 DISTVERSIONSUFFIX= -g58b649aa6 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= misc # machine-learning PKGNAMESUFFIX= -machine-learning-library @@ -15,7 +15,7 @@ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= onednn>0:math/onednn -LIB_DEPENDS= libtbb.so:devel/tbb +LIB_DEPENDS= libtbb.so:devel/onetbb USES= cmake eigen:3 localbase pkgconfig USE_GITHUB= yes |