问题标签 [parallel-foreach]

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 投票
2 回答
36694 浏览

r - “注销” doParallel 集群

如果我在foreach... %dopar%没有注册集群的情况下运行,foreach 会引发警告,并按顺序执行代码:

产量:

但是,如果我在启动、注册和停止集群后运行相同的代码,它会失败:

产量:

是否有与之相反的registerDoParallel()清理集群注册?或者在我重新开始我的 R 会话之前,我是否被旧集群的幽灵所困扰?

/edit:一些谷歌搜索揭示了bumphunter Biocondoctor包bumphunter:::foreachCleanup()中的功能:

但是,此功能似乎无法解决问题。

foreach 将注册集群的信息保存在哪里?

0 投票
0 回答
138 浏览

r - R foreach 根本没有循环

我在尝试使用Linux x64 上foreach的包组合语句的输出时遇到了一些麻烦:doMC

实际上,pred是一个带有第一个预测的向量,所以其他标签根本没有运行。这很奇怪,因为这很好用:

PS.:doSNOW()给出同样的错误!感谢您的澄清!

0 投票
2 回答
4213 浏览

r - R中带有foreach的两个rbind数据帧的输出列表

假设我想foreachdoParallel包中使用返回两个不同维度的数据框的列表,如下所示:

由于foreach返回一个对象,因此(至少对我而言)没有明显的方法可以使用foreach.

注意:这是我实际正在处理的问题的一个非常简化的版本,因此通过使用 lapply (或类似的东西)解决问题将不起作用。我的问题的精神是如何使用foreach.

0 投票
2 回答
4181 浏览

r - Nested for loops in R using foreach function and doParallel library

I am trying to calculate the cosine similarity between columns in a matrix. I am able to get it to work using standard for loops, but when I try to make it run in parallel to make the code run faster it does not give me the same answer. The problem is that I am unable to get the same answer using the foreach loop approach. I suspect that I am not using the correct syntax, because I have had single foreach loops work. I have tried to make the second loop a regular for loop and I used the %:% parameter with the foreach loop, but then the function doesn't even run.

Please see my attached code below. Thanks in advance for any help.

#xA;
0 投票
1 回答
1424 浏览

r - 使用 foreach 循环并使用 r 中的函数进行组合

我正在阅读foreachr 中包的文档,并且能够理解如何.combinec,rbindcbind. 但是文档说,.combine如果要使用此函数进行组合,也可以将函数的名称传递给语句中的。尝试访问我正在组合的此函数中每个 foreach 的各个元素时,我无法理解输出。(让我将此函数称为mycombinefunc

这是我尝试过的。我不明白为什么在 foreach 语句的输出中会打印两次输出。

0 投票
1 回答
1775 浏览

r - 在 foreach 循环(R 包)中保存?

我正在使用 foreach 包使用 HPC 并行运行蒙特卡罗模拟。我对 foreach 返回我想要的结果没有任何问题,但我想知道是否可以定期保存工作区。我问的原因是我必须指定一个壁挂时间(在此之后作业终止),所以我冒险 1. 设置壁挂时间太低并在 foreach 循环完成并保存我的输出之前丢失所有内容或 2. 设置一个保守的walltime 和浪费我的配额。理想情况下,我希望能够定期保存我的输出,在这种情况下,如果作业终止,我仍然有数据。

例如:

但是“temp_save”是空的,大概是因为“结果”仅在 foreach 循环完成后生成。在 foreach 循环完成之前,有什么方法可以访问和保存这些数据?谢谢你的帮助。

0 投票
1 回答
1208 浏览

c - 在 foreach 循环中导出函数时,C 符号名称不在加载表中

我在这里发布的这个问题实际上是由于服务器的配置造成的。该软件包实际上没有与 R/C 相关的问题。

我正在使用 foreach 开发一个 R 包来加速计算。为了说明包的结构,我在下面给出一个简化的 R 脚本和一个 C 文件:

f3.R:

foo.c

这个包在 Mac OS 上运行得很好,但是会抛出错误信息

自动从本地环境中导出以下变量:f1、f2

numValues:1,numResults:0,停止:TRUE

得到任务 1 的结果

累积得到错误结果

numValues:1,numResults:1,停止:TRUE

由于错误未调用组合函数

返回状态 TRUE

{ 中的错误:任务 1 失败 - “C 符号名称“foo”不在加载表中”

这是我尝试过的:

  • 补充.export = c("foo"):没有帮助
  • 移动f1()f2()一个单独的 R 脚本并添加.export = c("f1", "f2"):也可以在 Mac OS 上工作,但在 linux 上没有帮助
  • 如果我不构建包,而是直接将上面的函数加载到内存中,那么它可以在 Mac OS 和 Linux 上运行
  • 如果没有调用 C 函数(请注意,在我的示例中,C 代码什么也没做),那么它可以在 Mac OS 和 Linux 上运行。但是,如果我移动f1()f2()分离 R 脚本并添加.export = c("f1", "f2"),它会再次在 Linux 上失败。

从互联网上找到的大多数帖子都建议使用.export导出 R 函数,但我没有找到任何关于导出 C 符号的信息。

0 投票
0 回答
142 浏览

r - 以函数名作为参数的并行处理

当为非并行版本传入函数名称或函数名称在并行版本中硬编码时,下面的代码可以正常工作。我需要进行哪些更改才能传入并行版本的函数名称(在 bpar 设置为 TRUE 时调用)?

我得到的错误是:

0 投票
0 回答
144 浏览

r - R:bigrf 的 doMPI 后端

我正在尝试将下面的 bigrf 示例与 doMPI 后端并行化。

但是看起来有些线程没有看到 bigrf 包的 C 函数“modaC”,给出以下错误,

追溯

和会话信息

我已经知道doMPI只传递明确请求的变量,例如big.matrix,但我不知道如何obtainpassmodaC。

0 投票
1 回答
557 浏览

r - How to name foreach matrix columns?

Just a question about a neat way to name the result matrix of a foreach loop. This works, but it's a bit verbose, I wonder if there is a simpler method: