问题标签 [bulk-synchronous-parallel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - BSP Sieve Of Erastothenes C 实现给出了分段错误(核心转储)
编辑编辑:这是我在第二条评论中使用该程序后的问题,原始帖子如下。
================= 原帖
我正在尝试使用 BSP ( http://en.wikipedia.org/wiki/Bulk_synchronous_parallel ) 库在 C 中实现 Erastothenes 筛的简单并行版本。
我对C和BSP都没有经验。到目前为止,我有 2 个问题:1)编译(按照说明完成)并尝试使用 ./bspsieve 200 运行程序后,我得到“分段错误(核心转储)”
2)我做错了什么其他事情吗?我不是在寻找一种好的算法,只是在寻找一种能给出预期结果的算法。
编辑:我已经完成了以下操作来修复 mathematician1975 注意到的错误,但是我仍然得到分段错误。
apache - Mapreduce 和 apache 的 hama 的主要区别是什么?
嗨,我发现很难将 mapreduce 与 hama 进行比较,我知道 hama 使用这种批量同步并行模型,并且工作节点可以相互通信,而在 apache 的 hadoop 中,工作节点只能与 namenode 通信,对吗?如果是这样,我不明白 hama 对 hadoop 中的标准 mapreduce 有什么好处,谢谢!
apache-spark - 火花图帧聚合消息多次迭代
Spark graphFrames 文档有一个很好的示例如何应用聚合消息功能。
对我来说,它似乎只计算单个顶点和第一个顶点的朋友/连接,而不是作为 graphXs pregel 运算符更深入地迭代到图中。
我如何在graphFrames中完成这样的迭代,以及使用类似于这里如何处理迭代的聚合消息https://github.com/sparkling-graph/sparkling-graph/blob/master/operators/src/main/scala/ml/ graphX 中的sparkling/graph/operators/measures/vertex/eigenvector/ EigenvectorCentrality.scala?
http://graphframes.github.io/user-guide.html#message-passing-via-aggregatemessages
c++ - 在英特尔至强融核上的线程之间交换数据 - BSP 模型
我想在英特尔至强融核上仅使用 std::thread (没有其他库)开发批量同步并行模型。我将代码组织在 2 个类中:Superstep 和 Worker。Superstep 类包含一个工人向量。
超步.hpp
Worker 类是一个线程包装器
工人.hpp
当我运行 Superstep 的计算时,每个工作人员调用其 work() 函数,该函数使用模板函数“body”从工作人员输入计算工作人员输出。
我不明白如何在 Xeon Phi 这样的 MIC 处理器上实现通信阶段,或者更确切地说,如何将每个工作人员的输出与其他工作人员交换。通信包括将数据发送到处理器(我不知道如何)或将输出保存在重复的可锁定向量中(但这似乎更“共享内存”方法)?
提前致谢!
mpi - 检查所有 MPI 等级中的值是否相等
说我有一些 int x
。我想检查所有 MPI 等级是否获得相同的x
. 使用 MPI 集体实现这一目标的好方法是什么?
我能想到的最简单的是,广播 rank0's x
,进行比较,然后 allreduce-logical- 以及比较结果。这需要两个集体操作。
有一个更好的方法吗?
更新:
从 OpenMPI 用户列表中,我收到了以下响应。我认为这是一个相当不错的把戏!
我在几个地方看到的一个模式是用 MPI_MIN 或 MPI_MAX 来减少对 p = {-x,x}。如果在结果对中 p[0] == -p[1],那么每个人都有相同的值。如果不是,至少一个等级有不同的价值。例子: