阅读R-project网站上,有一些(不清楚的)关于 R 多线程的引用,但尚不清楚基础产品和 CRAN 的效果如何。库已编译。
Revolution Analytics提供适用于 Windows 和 Redhat 的多线程基础(?)下载。
其他一些 Linux 发行版是否也包含多线程 R(和软件包)?
请您参考如下方法:
你很困惑。
R(以及之前的 S)内部是单线程的,并且几乎肯定会保持单线程。据我了解,邓肯·坦普尔·朗的博士工作就是要克服这个问题,如果他做不到......
也就是说,有一些多线程的地方:
首先,每当您进行外部调用时,并且通过适当的锁定,您都可以进入多线程。这就是 BLAS 库 MKL、Goto/Open BLAS、Atlas(如果已构建)的内容 多线程),...全部提供。当英特尔发生时,Revo R“仅仅”随(英特尔的)MKL 一起提供 成为 Revo 的主要投资者
如果您谨慎行事,可以使用 OpenMP(多线程编译器扩展)。这始于 Luke Tierney 对 pmath 和 pmath0(曾经是实验性/外部包)的工作,此后一直缓慢但坚定地进入 R 本身。
接下来,在多核世界中,在正确的操作系统上,您始终可以
fork()
。这就是多核包所开创的,也是并行包现在所继承的。最后但并非最不重要的一点是,Rmpi、snow、parallel 等软件包使用 MPI 进行网络/RPC 路由,并且在 HPC 介绍中进行了介绍。