python - 如何使用 OpenMP 以并行模式在图形工具包中运行 SBM 算法?
问题描述
我一直在使用在图形工具包中实现的SBM 算法。我需要处理大量数据并且需要并行运行。
我知道 OpenMP 在这个包中默认是激活的,并且在特定和兼容的算法中使用,但是文档没有指定哪些算法。
我试过openmp_enabled()
or openmp_set_num_threads()
and also export OMP_NUM_THREADS=16
。一切似乎都很好,但是当我检查正在运行的进程时,它不是并行的。
您有实施 SBM 并行化的经验吗?
解决方案
尽管 graph-tool 使用 OpenMP,但并不是每个算法都是并行实现的,因为在某些情况下无法做到这一点。graph-tool中实现的SBM推理算法是基于MCMC的,一般不能并行化。因此,启用 OpenMP 将不起作用。
推荐阅读
- android - Android 会暂停 UI 线程以运行后台线程吗?
- python - 如何使此函数能够使用 numpy 数组作为参数并在 python 中返回一个数组?
- assembly - 找到最小值和最大值,其中一项是数组的 nCr 组合的总和,另一项是剩余项的总和
- django - 如果字段没有输入,在django中如何让它不被过滤
- c# - 使用密钥库存储的自签名证书在 azure 密钥库中创建证书
- android - 颤振 - 如何随机小部件序列/顺序
- asp.net - 创建实体框架 LINQ 组连接查询以返回 DTO 的属性子集和另一个 DTO 的列表,ASP.net 核心
- r - 使用 stringi 在 R 中生成一个唯一的随机字符串
- r - geom_point 颜色不正确
- javascript - Django动态字段 - 无法从模板中获取多个添加行的数据