问题标签 [snow]

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.

0 投票
1 回答
625 浏览

r - clusterApply in R:如果一项任务完成则退出集群并保存返回值

如果一个任务完成(我不想等待其他任务),我想取消集群计算并获得最快计算的返回值:

如果我运行它,res将存储三个作业的 3 个结果。但我只想要禁食工作的结果。

:)

0 投票
1 回答
159 浏览

r - 在 ClusterEvalQ 下使用 fOptions 的 EuropeanOption 函数

以下是给我一个错误。评估的函数来自 fOptions 包 pdf 的示例小节(我确定它是正确的)。我在并行处理中做错了什么?

结果:

checkForRemoteErrors(lapply(cl, recvResult)) 中的错误:6 个节点产生错误;第一个错误:没有适用于“EuropeanOption”的方法应用于“字符”类的对象

0 投票
1 回答
714 浏览

r - Snow R:获取当前运行的节点信息

假设我们通过 SNOW 在 R 中有一个由 4 个 CPU 组成的集群。

如何找出正在运行的节点?

我想做这样的逻辑:

IF(节点 1)THEN 逻辑 1 IF(节点 2)THEN 逻辑 2 IF(节点 3)THEN 逻辑 3 IF(节点 4)THEN 逻辑 4

如何实现 IF 条件?

谢谢!

0 投票
1 回答
1487 浏览

r - 使用雪在 R 中进行并行处理

我有 1000 个列表,每个列表都有多个时间序列。我想将预测应用于列表中的每个元素。就计算资源而言,这已成为一个棘手的问题。我没有并行计算或高级 R 编程方面的背景知识。任何帮助将不胜感激。

我创建了虚拟列表。基本上, dat.list 与我正在研究的类似。

上面的代码给了我我需要的东西。我想在上面的代码中对两个 lapply 应用并行处理。因此,我尝试使用 snow 包和本网站中显示的示例。

以下是我的问题,

  1. 出于某种原因,非并行版本的 tm 输出是不同的。预测函数 ets 应用于每个数据点,而不是列表中的元素。

非并行:

平行版:

  1. 我的第二个问题是我应该如何在自定义函数中并行化 lapply,基本上是嵌套的 parLapply

    custom.function <- function(x) parLapply(clus,x$z,function(y) (forecast::ets(y))) ## 不工作

非常感谢您的帮助

0 投票
2 回答
1581 浏览

r - 具有外部 %dopar% 和内部 %do% 的不相关嵌套 foreach

我正在本地并行运行任务,使用包中的%dopar%包来创建集群(目前在 Windows 机器上运行)。我以前做过很多次,它工作正常,直到我在其中使用(即非并行)放置一个不相关的循环。然后 R 给了我错误(带有回溯):foreachdoSNOWforeach%do%

这是一些在我的机器上复制问题的代码:

foreach用简单的foror替换内部(l/s)apply是一种解决方案。但是有没有办法让它与内部一起工作foreach,为什么首先会出现错误?

0 投票
0 回答
680 浏览

r - MPI 远程节点不执行

我正在尝试构建一个集群来并行化 R 函数。我在 Ubuntu 和 R 包(Rmpi 和 Snow)中使用 Open MPI。我正在运行的测试代码是:

命令是:

问题是所有返回都是本地主机名。我也观察了 localhost 和 node2 中的进程,并且该进程似乎开始了(localhost 中的 4 个,node2 中的 4 个)但很快 node2 处的从属进程停止并且一切都在 localhost 中执行。

我为每个节点使用不同的脚本(testSnowMPI.R)进行了另一项测试,当我将参数-n 1 更改为 -n 2时,我得到了不同的返回值,但两个脚本都是由 localhost 执行的。

另一个有趣的测试是当我在 localhost 中执行mpirun命令时,我只是设置了 node2 主机来执行(-H node2)。我得到的答案是为这个作业分配的所有节点都已经填满了。

我可以从 node2 ping localhost,从 localhost ping node2。而且我已经设置了没有密码的 ssh 连接。

似乎node2中的进程正常启动,但它无法将返回写入master,然后localhost完成所有工作。

我使用 node2 作为 localhost 进行了相同的测试,并且行为完全相同。

您对这些测试的奇怪行为有任何想法吗?

编辑

我只使用 Rmpi​​ 函数(没有 Snow 函数)做了一些测试。我写了这个脚本:

命令是:

我得到了这个输出:

(node1 是本地主机)

0 投票
1 回答
366 浏览

r - 如何在 Snow R 中使用大型多类型数据框?

我有一个 20M 行的大型 data.frame。这个数据框不仅是数字,还有字符。使用拆分和征服的概念,我想拆分这个数据帧以使用雪包(特别是 parLapply 函数)以并行方式执行。问题是节点内存不足,因为数据帧部分是在 RAM 中工作的。我寻找了一个包来帮助我解决这个问题,但我只找到了一个(考虑到多类型 data.frame):ff 包。另一个问题来自于这个包的使用。ffdf的拆分结果不等于commom data.frame的拆分。因此,无法运行 parLapply 函数。

你知道这个目标的其他包吗?Bigmemory 仅支持矩阵。

0 投票
0 回答
330 浏览

mysql - 在 R 中并行化一个简单的 sql 查询

我正在通过 R 执行一个简单的 SQL 查询

这是永远的。有时我得到一个错误

我假设并行执行 sql 查询将解决这个问题,我想知道是否有人可以给我一些指示,如果他们遇到类似的问题。

0 投票
2 回答
1363 浏览

r - 使用 Rmpi​​ 初始化 MPI 集群

最近尝试利用部门集群做并行计算R。集群系统由SGE. OpenMPI已安装并通过安装测试。

我通过qsub命令将查询提交到集群。在脚本中,我通过以下命令指定要使用的节点数。
#PBS -l nodes=2:ppn=24 (two nodes with 24 threads each)
然后,mpirun -np 1 R --slave -f test.R
$PBS_NODEFILE后来检查了。我希望分配两个节点。我可以找到两个节点的名称node1, node2,每个节点出现 24 次。

`test.R` 的内容如下所列。

的输出clusterCall()相当令人失望。只有一个节点的名称node1出现了 41 次。这绝对是错误的,因为只有 24 个线程node1。看来我的R脚本只能从中找到一个节点甚至一个线程。我只是想知道构建MPI集群的正确方法是什么?

0 投票
1 回答
257 浏览

r - R 中的 sfInit() 降雪包在 Windows 7 上挂起

我一直在尝试遵循一些指南,以便在运行 Windows 7 的工作机器上使用我的所有 (4) 个处理器。它们都建议使用 snowfall() 包。但是,当我运行以下代码时,R 会一直运行,直到我终止它。换句话说,R 挂起。

结果相同

并再次与

对于好奇,我的 Sys.info()

和...