gpt4 book ai didi

c++ - 混合并行 : MPI and TBB

转载 作者:行者123 更新时间:2023-11-28 05:02:28 24 4
gpt4 key购买 nike

在 TBB 中,经常(并且应该?)在内部调用的 task_scheduler_init () 方法是经过深思熟虑的设计决策。

但是,如果我们把TBB和MPI混合使用,是不是在不控制每个MPI进程的线程数的情况下保证线程安全呢?例如,假设我们有 7 个内核(没有超线程)和 2 个 MPI 进程。如果每个进程同时使用 4 个线程生成一个单独的 TBB 任务,则存在可能导致程序在运行时崩溃的冲突。

我是 TBB 的新手。期待您的意见和建议!

最佳答案

从英特尔 TBB 运行时的角度来看,它是否是 MPI 进程并不重要。因此,如果您有两个进程,您将拥有两个独立的英特尔 TBB 运行时实例。我不确定我是否理解与线程安全相关的问题,但它应该可以正常工作。但是,您可能会超额订阅,从而导致性能问题。

此外,如果您同时(从多个线程)使用 MPI 例程,您应该检查 MPI 实现文档,因为它可能会导致一些问题。

关于c++ - 混合并行 : MPI and TBB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45579255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com