问题标签 [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 投票
6 回答
11631 浏览

r - 有没有办法跟踪 mclapply 的进度?

我喜欢里面的环境.progress = 'text'。但是,由于列表项被发送到各个核心,然后在最后进行整理,因此不知道(从 package )plyr's llply走了多远,这让我非常焦虑。mclapplymulticore

我一直在输出这样*currently in sim_id # ....*的消息,但这并不是很有帮助,因为它没有让我知道列表项的完整百分比(尽管知道我的脚本没有卡住并继续移动很有帮助)。

有人可以提出其他想法,让我查看我的.Rout文件并获得进步感吗?我考虑过添加一个手动计数器,但看不到我将如何实现它,因为mclapply必须在它可以给出任何反馈之前完成所有列表项的处理。

0 投票
1 回答
209 浏览

r - 存储 R 生成的大型结果的理想格式是什么?

我通过大量参数组合(20-40k)模拟合理大小的数据集(10-20mb)。每个数据集 x 参数集都被推送mclapply,结果是list每个项目包含输出数据(作为列表项 1)和用于生成该结果的参数作为列表项 2(其中该列表的每个元素都是一个参数)。

我刚刚浏览了一个 81K 列表(但必须以 30k 块运行它们),结果列表每个大约 700 mb。我已将它们存储为.rdata文件,但可能会将它们重新保存为.Rda. 但是每个文件都需要永远读入R. 这里是否有最佳实践,尤其是对于长期存储?

理想情况下,我会将所有内容都保留在一个列表中,但mclapply会抛出一个关于无法序列化向量的错误,并且这么大的工作将永远在集群上花费(分成 3 种方式,每个工作需要 3 小时)。但是有几个结果文件results1a.rdata,,,results2b.rdataresults3c.rdata似乎效率低下。

0 投票
1 回答
1072 浏览

r - 如何让 R 的 lapply(和 mclapply)恢复随机数生成器的状态?

R 忽略.Random.seedlapply 内部的设置。但是,使用set.seed效果很好。

一些代码:

我的目标是检查点 MCMC 运行,以便它们可以准确地恢复。我可以轻松保存 RNG 的状态,只是无法让 R 在 lapply 循环中加载它!

有没有办法强制 R 注意到设置.Random.seed?或者有没有更简单的方法来实现这一点?

万一这很重要,我使用的是 64 位 R:

在 Ubuntu 12.04 LTS 上:

0 投票
0 回答
375 浏览

r - R/sqldf/mclapply,如何同时使用 sqldf 和 mclapply?

您好我正在尝试使用 sqldf 从我的数据库中获取数据。由于 sqldf 总是会加载 tcltk,所以我不能使用 mclapply 函数。我该怎么办?谢谢。

这是一个例子。

0 投票
2 回答
1303 浏览

r - 用于绘图的 mclapply 与 for 循环:速度和可扩展性焦点

我在 R 中运行一个函数,该函数可能需要很长时间才能运行,因为它执行多个命令来转换和子集一些数据,然后再将其推入ggplot绘图。我需要多次运行此函数来调整参数值。我将提供的示例很简单……但想知道如何加快速度?如果按比例放大,即获得每个组合的最快方法是什么...是否有一种通用方法可以将for循环转换为mclapply假设它们更快...请随时提供替代模拟示例来证明对特定方法的偏好

模拟示例:

基本功能:

所以通过参数的方法是执行以下操作......

加快速度的最快方法是什么?我假设它可能需要类似expand.grid(x=c(1:10),y=c(1:2),z=seq(100,500,by=100))的东西和使用mclapply来遍历每一行......以某种并行方式?(我有 4 个内核可用于此)。请根据可以最大程度提高速度的方法,随意从基本功能中提取一些内容或将内容放入基本功能中。如果您增加每个参数的范围,该过程显然会花费更长的时间,但是对此没有什么可以做的......或者如果拆分更多核心或其他东西,也可以以某种方式改变......?

并且对于奖励积分...是否有任何东西可以保存输出图像并创建像包manipulate中一样的滑块以交互方式遍历所有参数...它所做的只是拉出相关图像,而不是而不是每次都重新计算。

注意请随意使用/建议foreach您认为可能对您的解决方案有用的任何其他软件包(如 )

0 投票
2 回答
832 浏览

r - 用于 mclapply 的半全局变量

在一个函数中,我需要mclapply按列表中的每个项目运行,它还应该使用半全局变量var.1。我不想添加var.1到每个列表项中,因为它会占用太多内存。这是说明问题的代码:

我怎样才能传递var.1mclapplyvar.1必须在里面声明myOuterFunction

0 投票
1 回答
1154 浏览

r - 一个核心上的所有作业都因 R 多核而失败

我在一长串列表中使用 R 多核。我在列表上调用mclapply,它使用了我机器上的 12 个内核。

当我的列表有大约 1000 个元素时,它运行良好。当我的列表长于约 2000 个元素时(我不确定这种行为会在多长时间内生效),那么提交给核心 5 的所有作业都会失败。

(我通过向该网站提交列表元素 ID 发现了这一点。)

我在几个节点上试过这个,但我总是收到以下警告:

问:为什么只有一个核心会失败?

任何帮助将不胜感激。

PK

0 投票
1 回答
829 浏览

r - 从多核包中创建一个 R 函数以使用 mclapply

我需要分析一些具有以下结构的模拟数据:

其中 h 的范围从 1 到 2500,并索引 Monte Carlo 样本,每个样本有 1000 个观测值。我正在使用以下代码分析这些数据,该代码为我提供了两个对象(fnN1、fdQB101):

对象 fdN1 和 fdQB101 是 2500x1000 矩阵,以预测概率作为元素。我需要从这个循环中创建一个可以用 lapply() 或 mclapply() 调用的函数。当我将其包装在以下函数命令中时:

对象 fdN1 和 fdQB101 每个都作为 2500x1000 的零矩阵返回,而不是预测的概率。我究竟做错了什么?

0 投票
1 回答
1123 浏览

r - R 检查重复项非常缓慢,即使使用 mclapply

我有一些数据涉及重复销售一堆具有唯一 ID 的汽车。一辆车可以卖不止一次。

但是,有些 Id 是错误的,所以我正在检查每个 Id 的大小是否在多次销售中记录为相同。如果不是,那么我知道 Id 是错误的。

我正在尝试使用以下代码执行此操作:

但在我的四核 i5 上,它的速度非常缓慢、非常缓慢。

谁能看出瓶颈在哪里?我是 R 优化的新手。

谢谢,-N

0 投票
1 回答
3760 浏览

r - mclapply 附加参数

我创建了一个函数 DevCstat()。

它接受参数:indat、mod、Covar、txtMat、PatCovar。

indat 是一个列表,我想将该函数应用于列表的每个元素。

mod、Covar、txtMat、PatCovar 是我想在每次调用函数时使用的对象,这些不会改变列表元素。

这似乎有效:

但是,并行版本不起作用:

我得到错误

我认为问题在于 mclapply 没有传递额外的参数。

有谁知道如何正确地做到这一点?

谢谢