You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用parallel_deterministic_reduce时Intel TBB调度耗时过长,求优化方法

如何降低Intel TBB的调度开销?

背景

我参考《Intel® oneAPI Threading Building Blocks应用中的调度开销》文档编写了测试程序,使用Intel VTune Profiler做性能分析时,发现arena_slot::get_task及TBB调度内部的调用栈占用了较多时间。

我尝试在代码中用tbb::task_arena ta(8);指定线程数,但性能没有明显提升,核心代码如下:

double VectorReduction(double* v, size_t n) {
  tbb::task_arena ta(8);
  double sum = ta.execute([&]() {
    return tbb::parallel_deterministic_reduce(
      tbb::blocked_range<double*>(v, v + n), 0.0,
      [](const tbb::blocked_range<double*>& r, double value) -> double { return std::accumulate(r.begin(), r.end(), value); },
      std::plus<double>());
  });

  return sum;
}

问题

请问有哪些方法可以减少Intel TBB的调度时间?


内容的提问来源于stack exchange,提问作者roderick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 08:22:19