问题标签 [mclapply]

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 回答
1010 浏览

r - mclapply 调用应该嵌套吗?

嵌套parallel::mclapply调用是个好主意吗?

输出:

[1] 1 2 3 2 4 6 3 6 9

所以它是“工作”。但它是否推荐用于真正的计算密集型任务,这些任务的数量超过了内核的数量?执行此操作时发生了什么?涉及的多个分叉是否更可能造成浪费?mc.cores和的考虑因素是mc.preschedule什么?

编辑 只是为了澄清动机,通常通过拆分一个维度来并行化似乎很自然(例如,使用不同的核心来处理来自n 个不同年份的数据),然后在这种拆分中出现另一种自然的拆分方式(例如,使用不同的核心来计算m个不同功能中的每一个)。当 m 乘以 n 小于可用内核的总数时,上述嵌套看起来是合理的,至少从表面上看是这样。

0 投票
1 回答
1041 浏览

r - 仅使用 Rscript 的 mclapply sendmaster 错误

使用从命令行Rscript调用时,我间歇性地收到以下错误:mclapply

如果我在 R Studio 或交互式 R 会话中运行完全相同的代码,我不会收到错误消息。这个错误出现在从非常大的作业中的各种上下文中,每个工人必须将一个非常大的对象返回给小作业。我也试过prescheduling关闭,但它仍然抛出错误。如果我减少参数中的线程数,有时它会消失mc.cores。我在 Ubuntu 18.04.1 上使用 Microsoft R Open。它也出现在 Ubuntu 16.04 上。我没有尝试过的一件事是在标准 R 而不是 MRO 中运行代码。

这是我的Rscript -e 'sessionInfo()'

有任何想法吗?有没有其他人遇到过这样的事情?对于没有可重现的示例,我深表歉意,但到目前为止我遇到错误的数据/代码无法共享,而且我无法在其他情况下重现该错误。它似乎只是随机发生。

0 投票
0 回答
119 浏览

r - xgb.DMatrix 在 mclapply 中挂起

我遇到了这个已经提出的问题: https ://github.com/dmlc/xgboost/issues/2094

我们已将并行解决方案移至 mclapply,但在以这种方式运行 xgb.DMatrix 时遇到了问题。该过程在遇到此功能时挂起,但按顺序正常工作。

我们循环中的数据集彼此独立。海报有一些挂在 linux 机器上的示例代码。

有人对我们可以尝试什么有建议吗?我没有发现 github 问题中的回复有帮助。

0 投票
1 回答
290 浏览

r - mclapply 根据核心 ID 遇到错误?

我有一组基因,我需要并行计算一些系数。在内部计算系数GeneTo_GeneCoeffs_filtered,将基因名称作为输入并返回 2 个数据框的列表。

拥有 100 个长度gene_array,我使用不同数量的核心运行此命令:5、6 和 7。

根据分配给mclapply.

GeneTo_GeneCoeffs_filtered无法返回其具有模式的数据框列表的基因索引。在分配给 mclapply 的 7 个核心的情况下,它是(每 7 个)的 4、11、18、25、... 95 个元素gene_array,当 R 使用 6 个核心时,索引是 2、8、14、...、 98(每 6 个)和 5 个内核的相同方式 - 每 5 个。

最重要的是它们对于这些过程是不同的,这意味着问题不在于特定的基因。

我怀疑可能存在无法正确运行我的功能的“损坏”核心,只有它会产生此错误。有没有办法追溯其 id 并将其从 R 可以使用的核心列表中排除?

0 投票
1 回答
1221 浏览

r - foreach 非常慢,有大量值

我正在尝试使用foreach来进行并行计算。如果有少量的值需要迭代,它工作得很好,但在某些时候它会变得非常慢。这是一个简单的例子:

out1并且out2需要很长时间才能运行。只要我让它们运行,它们甚至都不会产生多个线程。out3几乎立即产生线程并且运行得非常快。是否foreach在进行某种无法很好扩展的初始处理?如果是这样,是否有一个简单的解决方法?我真的更喜欢foreach.

我还应该注意,我尝试并行化的实际代码比 1+1 复杂得多。我仅将其作为示例显示,因为即使使用这个简单的代码 foreach 似乎也在做一些非常慢的预处理。

0 投票
1 回答
270 浏览

r - 将多个列出的数据帧循环到一个函数中

我正在尝试从 ade4 包中执行函数 varipart()。我正在尝试在同一函数的不同部分中的每个列表中使用相同的数字数据框。我需要为每组数据框传递这个。

这些方法都不起作用!请温柔,我是列表语法和循环的新手。错误分别是“警告消息:在 mclapply(output.spectrans.dudi, function(x) { :所有计划的核心在用户代码中遇到错误”和“x * w 中的错误:二进制运算符的非数字参数”。

0 投票
0 回答
287 浏览

r - mclapply 在一个简单的示例中返回 NULL

我注意到我的环境中的并行处理存在一些问题,我的列表中出现了无法解释的 NULL 值。下面是一个产生 NULL 的简单示例。

下面是我使用 Rscript 运行脚本时的打印结果

如果我使用 29 个内核运行 mclapply,我也会收到以下错误

如果我使用少于 28 个内核,我不会得到任何 NULL 值。但是,我正在运行非常耗时的脚本,并且我想使用尽可能多的内核。知道该怎么做吗?

Edit1:在我们的服务器上进行重大操作系统更新后,我注意到了这个问题。我有一个复杂的 mclapply 和一个 foreach %dopar% 循环,它们都开始返回意外的空值。在调查这个问题时,我注意到即使是这个简单的例子也返回了空值,这就是我发布这个的原因。即使是这个例子中的 foreach 有时也会在我的环境中返回一些空值。

Edit2:我在另一台服务器(RHEL 7.6)中尝试了这个例子,但在那个环境中我没有得到任何空值。

Edit3:如果我res <- mclapply(list_a, function(x) {x*x}, mc.cores = 28)稍后在脚本中再次运行,它并不总是产生 NULL,但有时会产生。

0 投票
0 回答
214 浏览

r - 在 RStudio 中手动中断时优雅地停止 mclapply 集群?

我正在使用pblapply参数cl设置为整​​数而不是集群对象的函数。这导致pblapply调用mclapply而不是parLapply. 无需担心以clusterExport这种方式将正确的对象输入到函数中,我发现这可以改善我的整体工作流程。但是,如果我需要手动中断对pblapplyRStudio 内的调用(单击停止符号),会话将挂起,我最终会得到一堆需要通过终端手动终止的失控内核。

请注意,此问题特定于 RStudio;使用从终端运行相同的代码Rscript并手动中断 viaCTRL-C将成功停止集群。当仅限于 RStudio 时,是否有更优雅和有效的方法来处理这个问题?

这是我在使用parLapply. 可以将其翻译为使用mclapply吗?

这是一个使用pblapply/mclapply没有任何异常处理的示例。

0 投票
2 回答
379 浏览

r - parallel::mclapply() 添加或删除到全局环境的绑定。哪个?

为什么这很重要

对于drake,我希望用户能够mclapply()在锁定的全局环境中执行调用。为了重现性,环境被锁定。如果没有锁定,数据分析管道可能会使自己失效

mclapply()添加或删除全局绑定的证据

reprex 包(v0.2.1)于 2019 年 1 月 16 日创建

编辑

对于最初的激励问题,请参阅https://github.com/ropensci/drake/issues/675https://ropenscilabs.github.io/drake-manual/hpc.html#parallel-computing-within-targets

0 投票
2 回答
426 浏览

r - 背靠背使用多个实例时,mclapply 挂起

我正在尝试使用来自kaggle reddit 评论挑战的数据创建一个手套模型。我加载表格,拉动身体,现在我正在尝试清理文本。

我提取了一个小子集(100000 个标题)来进行实验,这就是我目前所拥有的:

但它似乎是在随机的地方下注。它不会导致错误,它只是停止。当我查看我的活动监视器时,我看到 CPU 使用率只是下降并且永远不会恢复。

我不知道我需要提供什么才能使这个请求更容易分解,所以请告诉我,我会编辑它。

我使用 mclapply 错了吗?

我使用的是 8 核的 mac 16 GB i7。

编辑:我环顾四周,找到了这样这样的答案,但他们没有帮助我。此外,如果我只使用 lapply,它似乎也有效。