17#ifdef DEAL_II_WITH_TASKFLOW
20# include <taskflow/algorithm/for_each.hpp>
21# include <taskflow/taskflow.hpp>
24#ifdef DEAL_II_WITH_TBB
25# include <tbb/blocked_range.h>
26# include <tbb/parallel_for.h>
27# include <tbb/parallel_reduce.h>
28# include <tbb/partitioner.h>
30# include <boost/range/iterator_range.hpp>
38 namespace VectorImplementation
52 namespace SparseMatrixImplementation
70#ifdef DEAL_II_WITH_TBB
72 : my_partitioner(
std::make_shared<tbb::affinity_partitioner>())
82 "A vector partitioner goes out of scope, but "
83 "it appears to be still in use."));
88 std::shared_ptr<tbb::affinity_partitioner>
91 std::scoped_lock lock(
mutex);
93 return std::make_shared<tbb::affinity_partitioner>();
103 const std::shared_ptr<tbb::affinity_partitioner> &p)
107 std::scoped_lock lock(
mutex);
std::shared_ptr< tbb::affinity_partitioner > acquire_one_partitioner()
void release_one_partitioner(const std::shared_ptr< tbb::affinity_partitioner > &p)
std::shared_ptr< tbb::affinity_partitioner > my_partitioner
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define AssertNothrow(cond, exc)
static ::ExceptionBase & ExcInternalError()
unsigned int minimum_parallel_grain_size
unsigned int minimum_parallel_grain_size