1

希望这是一个我忽略了答案的简单问题,但是在今天早上的搜索中,我一无所获。

我的计算机上有四个内核,并且希望在 R 中通过多个内核同时运行不同的程序(循环)。如果我打开四个 R 会话,它们会自动放置在不同的核心上,还是我需要想办法用降雪来做到这一点?

我之前已经成功使用降雪来运行相同的程序,但之前使用了不同的值。但是降雪会让我在不同的内核上运行完全不同的程序吗?我可以将每个模拟循环设置为不同的功能(即:func1、func2、func3、func4),然后让降雪将每个功能分配给不同的核心吗?

谢谢你的帮助

4

2 回答 2

4

我不知道它在不同的操作系统上如何,但在 Windows 上你的操作系统会处理这个问题。因此,您可以根据需要打开任意数量的 R 会话,它们将分布在内核中(每个进程最多占用一个内核)。如果您打开的 R 会话多于 CPU,那么显然有些将无法使用完整的 CPU。

所以这里不需要使用降雪。

于 2012-09-27T14:49:07.617 回答
3

回答这个问题最简单的方法是:

  1. 创建四个函数,每个函数都需要一两分钟才能运行
  2. 利用snowfall
  3. 查看您的 CPU 处理器使用情况。

但是要回答您的问题,是的,它们将分布在内核中。

parallel使用R 2.15 附带的包可能更容易

于 2012-09-27T14:46:12.423 回答