问题标签 [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.
r - clusterApply in R:如果一项任务完成则退出集群并保存返回值
如果一个任务完成(我不想等待其他任务),我想取消集群计算并获得最快计算的返回值:
如果我运行它,res
将存储三个作业的 3 个结果。但我只想要禁食工作的结果。
:)
r - 在 ClusterEvalQ 下使用 fOptions 的 EuropeanOption 函数
以下是给我一个错误。评估的函数来自 fOptions 包 pdf 的示例小节(我确定它是正确的)。我在并行处理中做错了什么?
结果:
checkForRemoteErrors(lapply(cl, recvResult)) 中的错误:6 个节点产生错误;第一个错误:没有适用于“EuropeanOption”的方法应用于“字符”类的对象
r - Snow R:获取当前运行的节点信息
假设我们通过 SNOW 在 R 中有一个由 4 个 CPU 组成的集群。
如何找出正在运行的节点?
我想做这样的逻辑:
IF(节点 1)THEN 逻辑 1 IF(节点 2)THEN 逻辑 2 IF(节点 3)THEN 逻辑 3 IF(节点 4)THEN 逻辑 4
如何实现 IF 条件?
谢谢!
r - 使用雪在 R 中进行并行处理
我有 1000 个列表,每个列表都有多个时间序列。我想将预测应用于列表中的每个元素。就计算资源而言,这已成为一个棘手的问题。我没有并行计算或高级 R 编程方面的背景知识。任何帮助将不胜感激。
我创建了虚拟列表。基本上, dat.list 与我正在研究的类似。
上面的代码给了我我需要的东西。我想在上面的代码中对两个 lapply 应用并行处理。因此,我尝试使用 snow 包和本网站中显示的示例。
以下是我的问题,
- 出于某种原因,非并行版本的 tm 输出是不同的。预测函数 ets 应用于每个数据点,而不是列表中的元素。
非并行:
平行版:
我的第二个问题是我应该如何在自定义函数中并行化 lapply,基本上是嵌套的 parLapply
custom.function <- function(x) parLapply(clus,x$z,function(y) (forecast::ets(y))) ## 不工作
非常感谢您的帮助
r - 具有外部 %dopar% 和内部 %do% 的不相关嵌套 foreach
我正在本地并行运行任务,使用包中的%dopar%
包来创建集群(目前在 Windows 机器上运行)。我以前做过很多次,它工作正常,直到我在其中使用(即非并行)放置一个不相关的循环。然后 R 给了我错误(带有回溯):foreach
doSNOW
foreach
%do%
这是一些在我的机器上复制问题的代码:
foreach
用简单的for
or替换内部(l/s)apply
是一种解决方案。但是有没有办法让它与内部一起工作foreach
,为什么首先会出现错误?
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 是本地主机)
r - 如何在 Snow R 中使用大型多类型数据框?
我有一个 20M 行的大型 data.frame。这个数据框不仅是数字,还有字符。使用拆分和征服的概念,我想拆分这个数据帧以使用雪包(特别是 parLapply 函数)以并行方式执行。问题是节点内存不足,因为数据帧部分是在 RAM 中工作的。我寻找了一个包来帮助我解决这个问题,但我只找到了一个(考虑到多类型 data.frame):ff 包。另一个问题来自于这个包的使用。ffdf的拆分结果不等于commom data.frame的拆分。因此,无法运行 parLapply 函数。
你知道这个目标的其他包吗?Bigmemory 仅支持矩阵。
mysql - 在 R 中并行化一个简单的 sql 查询
我正在通过 R 执行一个简单的 SQL 查询
这是永远的。有时我得到一个错误
我假设并行执行 sql 查询将解决这个问题,我想知道是否有人可以给我一些指示,如果他们遇到类似的问题。
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
集群的正确方法是什么?
r - R 中的 sfInit() 降雪包在 Windows 7 上挂起
我一直在尝试遵循一些指南,以便在运行 Windows 7 的工作机器上使用我的所有 (4) 个处理器。它们都建议使用 snowfall() 包。但是,当我运行以下代码时,R 会一直运行,直到我终止它。换句话说,R 挂起。
结果相同
并再次与
对于好奇,我的 Sys.info()
和...