R 在多核上运行不同的程序

R 在多核上运行不同的程序,r,snowfall,R,Snowfall,希望这是一个我忽略了答案的简单问题,但在今天早上的搜索中,我一直没有找到答案 我的计算机上有四个内核,希望在多个内核上同时运行R中的不同程序(循环)。如果我打开四个R会话,它们会自动放在不同的核心上,还是我需要想出一种方法来处理降雪 我曾经成功地使用snowfall来运行相同的程序,但是之前的值不同。但是雪花会允许我在不同的内核上运行完全不同的程序吗?我是否可以将每个模拟循环设置为不同的函数(即:func1、func2、func3、func4),然后让snowfall将每个函数指定给不同的核心

希望这是一个我忽略了答案的简单问题,但在今天早上的搜索中,我一直没有找到答案

我的计算机上有四个内核,希望在多个内核上同时运行R中的不同程序(循环)。如果我打开四个R会话,它们会自动放在不同的核心上,还是我需要想出一种方法来处理降雪

我曾经成功地使用snowfall来运行相同的程序,但是之前的值不同。但是雪花会允许我在不同的内核上运行完全不同的程序吗?我是否可以将每个模拟循环设置为不同的函数(即:func1、func2、func3、func4),然后让snowfall将每个函数指定给不同的核心


感谢您的帮助

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

  • 创建四个函数,每个函数运行一到两分钟
  • 使用
    snowfall
  • 查看您的CPU处理器使用情况
  • 但要回答您的问题,是的,它们将分布在各个核心上


    使用R2.15附带的
    并行
    软件包可能更容易回答此问题最简单的方法是:

  • 创建四个函数,每个函数运行一到两分钟
  • 使用
    snowfall
  • 查看您的CPU处理器使用情况
  • 但要回答您的问题,是的,它们将分布在各个核心上


    使用R2.15附带的
    parallel
    软件包可能更容易些,我不知道它在不同的操作系统上是如何实现的,但在windows上,您的操作系统会解决这个问题。因此,您可以根据需要打开任意多个R会话,它们将分布在各个核心上(每个进程最多占用一个核心)。如果您打开的R会话多于您拥有的CPU,那么显然有些会话将无法使用完整的CPU


    因此,这里不需要使用snowfall。

    我不知道它在不同的操作系统上是如何实现的,但在windows上,您的操作系统会解决这个问题。因此,您可以根据需要打开任意多个R会话,它们将分布在各个核心上(每个进程最多占用一个核心)。如果您打开的R会话多于您拥有的CPU,那么显然有些会话将无法使用完整的CPU


    不需要在这里使用降雪。

    你为什么不做一个实验,看看会发生什么?嗨,本,不幸的是,我不能做一个适当的测试,因为我在一个相当大的模拟中使用了我的核心。试图在当前模拟运行时设计我的下一个模拟,以便我可以准备就绪。似乎我会遵循亨利克的建议,只需要使用多个R会话而不需要雪崩,你为什么不做一个实验,看看会发生什么?嗨,本,不幸的是,我不能做一个适当的测试,因为我是在一个相当大的模拟中使用我的核心。试图在当前模拟运行时设计我的下一个模拟,以便我可以准备就绪。似乎我会遵循Henrik的建议,只使用多个R会话而不需要Snowfall。我一直认为,
    并行
    更容易,因为它a)与所有最新版本一起提供,b)实际上是对
    snow
    多核
    的更好部分的重写/代码审查。所有最新版本都是我一直认为,
    parallel
    更容易,因为它a)与所有最新版本一起提供,b)实际上是对
    snow
    multicore
    的更好部分的重写/代码审查。所有最新版本都是决定性的。我不理解反对票。如果你有完全不同的东西要计算,
    snowfall
    parallel
    是不必要的,并且按照OP的建议,在未来的道路上打开不同的R控制台。然后,跨内核的分发由操作系统完成。我不理解反对票。如果你有完全不同的东西要计算,
    snowfall
    parallel
    是不必要的,并且按照OP的建议,在未来的道路上打开不同的R控制台。然后由操作系统完成跨内核的分发。