Python 如何使用OpenMP在图形工具包中以并行模式运行SBM算法?

Python 如何使用OpenMP在图形工具包中以并行模式运行SBM算法?,python,openmp,graph-tool,Python,Openmp,Graph Tool,我一直在使用,在中实现。我需要处理大量数据,并且需要并行运行 我知道OpenMP在该软件包中默认激活,并用于特定的兼容算法,但文档中没有指定哪些算法 我尝试了openmp\u enabled()或openmp\u set\u num\u threads()以及导出OMP\u num\u threads=16。一切似乎都很好,但当我检查正在运行的进程时,它不是并行的 您有实现SBM并行化的经验吗?尽管graph tool使用OpenMP,但并非所有算法都是并行实现的,因为在某些情况下无法实现。在g

我一直在使用,在中实现。我需要处理大量数据,并且需要并行运行

我知道OpenMP在该软件包中默认激活,并用于特定的兼容算法,但文档中没有指定哪些算法

我尝试了
openmp\u enabled()
openmp\u set\u num\u threads()
以及
导出OMP\u num\u threads=16
。一切似乎都很好,但当我检查正在运行的进程时,它不是并行的


您有实现SBM并行化的经验吗?

尽管graph tool使用OpenMP,但并非所有算法都是并行实现的,因为在某些情况下无法实现。在graph tool中实现的SBM推理算法是基于MCMC的,一般不能并行化。因此,启用OpenMP不会有任何效果。

谢谢您,亲爱的蒂亚戈。如果有一个可用算法的短名单可以在图形工具中并行化,那将是令人惊讶的。@Tiago,我很困惑。
(multiflip)mcmc\u sweep()函数不是通过OpenMP并行化的吗?当我在过去使用
minimize\u blockmodel\u dl()
时,我注意到在函数运行时,我的CPU内核在完全利用率(所有内核)到单内核之间振荡,这表明至少部分计算是并行的。这不是因为吗?@StuartBerg这行代码与并行回火算法(并行运行)有关,而不是与常规MCMC代码(不并行)有关!函数minimize_blockmodel_dl()也有一个并行运行的块合并阶段,但这是一个次要部分。@SaeedChoobani对于图形工具(单数)中并行实现的所有函数,文档中都提到了这一点。如果没有提到这一点,那么情况就不是这样了。