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

r - 在R中并行生成三角图距离矩阵

我有一个 n 图数组,我必须生成一个三角形 nxn 矩阵,其中包含图之间的距离。我制作了非并行程序,这意味着我有计算编号的函数。每对 2 个大小为 n1 和 n2 的图的顶点数,No_MaxCommonSubgraph(graph1,graph2,n1,n2) 和我有 2 个嵌套,用于构造矩阵。它工作正常。我将第一个 for 转换为 foreach,我有

问题是当我离开 foreach 时,矩阵 mat 的所有值都是 NA。我尝试将矩阵文件写入foreach,在for j之后,逐行写入,但它以不同的顺序写入行,因为这些行是由核心计算的。有时在另一行内写一行。

我使用Linux comp。有 12 个核心,我可能会使用另一个 comp。8核。对于 8 号图,我有 11117 个图,我必须达到 9 号或 10 号。我是 R 新手。

0 投票
0 回答
274 浏览

r - 使用 foreach 的问题

我有一个关于使用 foreach 进行并行模拟的问题,我非常感谢您提前提供的帮助,因为我已经花费了数小时和数小时,并且不断出现错误。

我正在使用 foreach() 进行模拟研究,在每次迭代中我运行一个函数,该函数本身具有一些“常规”循环。当我按顺序运行它时,它工作得非常好。在 linux 服务器上,当我在 R 中使用 foreach 并行运行它时,它工作正常,但是一旦我使用“nohup R CMD BATCH”命令在批处理模式下运行它,它就会开始返回错误。我为每个模拟手动设置种子编号,这意味着无论在 R 内部并行运行它们、在批处理模式下并行运行以及在 R 内部顺序运行它们,我的代码基本上都是在相同的模拟数据上运行,因此如果一种方式不产生任何错误,其他人也不应该导致错误,但奇怪的是,事实并非如此。有没有人有同样的挑战?

我花了好几个小时,进行异常处理,但什么也没发生。

这是我的代码:

没有“尝试”,我不断收到:任务 3527 失败 - “$ 运算符对原子向量无效”

通过尝试,我的 Coef.Fixed.LME 对于所有元素“numeric.2”变得非常奇怪!

0 投票
0 回答
432 浏览

r - 更新:使用 R 的并行计算导致“尝试复制‘闭包’类型的对象”

我已经建立了 Metropolis-Hastings 算法,现在我正在尝试使用并行计算运行该算法。我已经设置了单链功能

,它返回一个p x iter矩阵,带有 p 个参数和iter迭代。

更新:当我试图简化问题时,代码突然似乎起作用了。尽管我故意尝试出错,但代码运行完美,结果符合预期。因此,不幸的是,对于其他有类似问题的人,我无法给出答案。

一个后续问题:我最初的目的是建立一个完整的功能,这样

但是 foreach 循环似乎没有读取所有必需的功能,例如:

谁能回答如何在foreach循环中实现自定义函数?我要输入它MCmulti <- function(FUN,...) FUN()并调用MCmulti(MCsingle,...)吗?

0 投票
2 回答
56 浏览

php - 对于 QueryFetchArrayAll 之后的每个循环

我有一个问题:我使用以下查询从数据库中获取我的数组:

现在我需要$news['login']一个$imgs['usrpic']用于每个循环。

例如:

谁能帮助我如何做到这一点?

0 投票
1 回答
130 浏览

c++-amp - C++AMP:迭代器是如何工作的

例子:

index<1> idx 是如何工作的?假设,在 mas:array_view 的一组数字

0 投票
2 回答
1087 浏览

r - R并行:rbind并行到单独的data.frames

下面的代码在 Windows 和 Ubuntu 平台上产生不同的结果。我理解这是因为处理并行处理的方法不同。

总结:
我不能在 Linux 上并行insert/数据( , ),而我可以在 Windows 上做到这一点rbindmclapplymcmapply

感谢@Hong Ooi 指出mclapply不能在 Windows 上并行工作,但下面的问题仍然有效。

当然,same 没有多个插入data.frame,每个插入都在单独的 data.frame 中执行。

问题是:

如何在 Linux 平台上实现rbind并行成单独的 s?data.frame

在我的情况下, PS 非内存存储SQLite不能被视为解决方案。

0 投票
1 回答
79 浏览

r - R从列表中读取数据时并行化for循环

我有一个 for 循环,我想与R. index m以下循环使用(我总共有 M 个产品要定价)遍历数据库中的每个产品。我将原始价格(这是一个数字)和从列表中读取的折扣率作为我的定价函数的输入传递(因此我必须使用[[]] formulation.

这个循环运行良好,最后我的列表myList包含每种产品的正确折扣价。myList 包含所有命名的元素ProductX,其中 X 是我的原始数据库中的产品位置(在循环中是计数器 m)。唯一的问题是运行速度非常慢,所以我想知道如何并行化它。有什么建议吗?

0 投票
3 回答
1316 浏览

r - 打开时,Rstudio 启动许多进程(在上一个会话中从并行包开始)——如何杀死它们?

我已经通读了这个 SO 问题和答案(R 并行计算和僵尸进程),但它似乎并没有完全解决我的情况。

我有一台运行 Mac OS X 10.10.3、R 3.2.0 和 RStudio 0.99.441 的 4 核 MacBook Pro。

昨天,我正在试用“foreach”和“doParallel”包(我想在我正在处理的包中使用它们)。我这样做了:

我很清楚,在我的 4 核机器上拥有 14 个进程没有意义,但该软件实际上将在 16 核机器上运行。这时我的电脑停了下来。我打开活动监视器,发现 16 个(或更多,也许?)R 进程。我试图强迫他们从活动监视器中退出——没有运气。我关闭了 RStudio,这杀死了所有的 R 进程。我重新打开了 RStudio 并重新启动了所有 R 进程。我重新启动计算机并重新启动 RStudio,然后重新启动所有 R 进程。

如何在不重新启动所有这些进程的情况下启动 RStudio?

编辑:我忘了提到我还重建了我当时正在处理的包(所有进程可能在构建期间一直在运行)

EDIT2:另外,我不能 StopCluster(cl) 因为 cl 不再在环境中......我关闭了那个 R 会话。

EDIT3:当我打开 R.app(R 随附的 R GUI)或在终端中打开 R 时,不会出现此类问题。所以我认为它必须与RStudio相关。

EDIT4:打开 RStudio 和开始所有这些不需要的进程之间似乎存在随机延迟。在 15 秒到 2 分钟之间。

EDIT5:似乎这些过程只有在我打开它们开始的项目后才开始。

EDIT6:我一直在挑选 .Rproj.user 文件寻找要删除的东西。我删除了 ctx、pcs 和 sdb 中的所有文件(但没有删除目录)。问题仍然存在。

EDIT7:当我在命令行运行“killall R”时,它会杀死所有这些进程,但是当我重新启动 RStudio 并重新打开项目时,所有进程都会重新启动。

EDIT8:我使用“killall -s R | wc -l”发现R进程的数量在项目打开时不断增长。它升至 358,然后我运行“killall R”,因为我的计算机发出可怕的声音。

EDIT9:RStudio 目前完全无法使用。每次我“killall R”时,它都会在 15 秒内重新启动所有进程。

EDIT10:当我启动一个也启动大量 R 进程的构建时——最后一次检查为 109。当构建显示“为延迟加载准备包”时,这些过程都会启动。在这一点上,计算机几乎停止运行。

EDIT11:我删除了 .Rproj 文件(实际上只是将其作为备份移动)和 .Rproj.user 目录。我在 RStudio 中使用了“从目录创建项目”。当我打开那个新项目时,我仍然得到相同的行为。当我打开一个不包含在 .Rproj 文件或 .Rproj.user 目录中的任何地方的项目时,RStudio 会做什么!?我花了一整天的时间来解决这个问题....:(

0 投票
1 回答
5135 浏览

r - 并行化不适用于 foreach 包

使用 foreach 包,我预计以下行将在大约 10 秒内运行

以下行将在大约 2 秒内运行

但它不起作用。

我在 Mac OSX 上,我的机器有 16 个处理器,目前没有任何重物正在运行。我没有收到任何错误或警告消息。

0 投票
1 回答
2768 浏览

r - 在 R 中将 fread 与 foreach 和 doParallel 一起使用

我在 ubuntu 14.04 的 R 3.2.0 中使用freadforeach打包doParallel。以下代码工作得很好,即使我没有使用registerDoParallel.

但是,当切换到 Windows 7 时,无论有没有“registerDoParallel”,它都不再工作。

'doSNOW' 包也不起作用。下面是错误信息。

有没有人有类似的经历?


一个后续问题是关于嵌套的foreach。似乎以下行不通。