【发布时间】:2011-05-04 14:02:29
【问题描述】:
我正在开发一个同时使用粗粒度和细粒度多线程的应用程序。也就是说,我们手动管理线程池上大型工作单元的调度,然后在这些工作单元中,某些功能利用 OpenMP 进行更细粒度的多线程。
我们通过在成本最高的循环中选择性地使用 OpenMP 实现了收益,但担心会在我们将 OpenMP 块添加到成本更低的循环中时为 OpenMP 工作池造成争用。有没有办法向 OpenMP 发出信号:如果池可用,则代码块应使用池,否则应串行处理循环?
【问题讨论】:
标签: multithreading openmp