用R多线程?

gli*_*tak 51 r

阅读R-project网站时,有一些(不清楚)引用R的多线程,但目前还不清楚如何编译基础产品和CRAN库.

Revolution Analytics为Windows和Redhat提供多线程基础(?)下载.

其他一些Linux发行版也会包含多线程R(和包)吗?

Dir*_*tel 63

你很困惑.

R(以及它之前,S)内部是单线程的,几乎肯定会保持单线程.据我了解,Duncan Temple Lang的博士工作是为了克服这个问题,如果他做不到......

也就是说,有一些多线程:

  • 首先,无论何时进行外部调用,并通过适当的锁定,您都可以进行多线程.这就是BLAS库MKL,Goto/Open BLAS,Atlas(如果构建多线程),......都提供的.Revo R"仅"与(英特尔)MKL一起发售,因为英特尔恰好是Revo的主要投资者

  • 如果您对所做的事情非常小心,可以使用OpenMP(多线程的编译器扩展).这开始于Luke Tierney关于pnmath和pnmath0(曾经是实验性/外部包)的工作,并且从那时起缓慢但肯定地进入R本身.

  • 接下来,在多核世界和正确的操作系统中,您可以随时使用fork().这就是多核开创的包,以及现在并行的包.

  • 最后但并非最不重要的是,网络/ RPC路由使用了MPI,包括Rmpi,snow,parallel等......并且在HPC介绍中有所介绍.

  • 您是否也在底部角落看到了"上次修改"的时间戳? (5认同)
  • 好的,所以在http://developer.r-project.org/TODO-DTL.html上它说:"Luke和我正在努力获得R中的并发性和潜在的并行性,以便可以(至少看起来)执行同时使用不同的命令.理想情况下,我们将能够在一台机器中利用多个处理器并并行运行某些计算." 因此,如果我正在调用一些(?)正确编译的库,那么处理是并行的,但是在运行"内置"命令时却不是这样? (4认同)
  • 我喜欢那个网站,但我学会了很难不要期待任何坚定的时间线或交付:) (3认同)
  • 只是注意到它......拥有正确权限的人可能想将页面移动到存档文件夹:) (2认同)
  • https://mran.microsoft.com/open/(R open)怎​​么样?他们特别提到多线程是最重要的功能之一? (2认同)