阅读R-project网站时,有一些(不清楚)提到了使用R进行多线程处理,但不清楚基本产品和CRAN库是如何编译的.
Revolution Analytics提供多线程基础(?)下载Windows和Redhat.
其他一些Linux发行版是否也包括多线程R(和包)?
阅读R-project网站时,有一些(不清楚)提到了使用R进行多线程处理,但不清楚基本产品和CRAN库是如何编译的.
Revolution Analytics提供多线程基础(?)下载Windows和Redhat.
其他一些Linux发行版是否也包括多线程R(和包)?
你很困惑.
R(以及之前的S)内件是单螺纹的,几乎肯定会保持单螺纹.据我所知,邓肯·坦普尔·朗的博士研究是为了克服这个问题,如果他做不到的话...
也就是说,存在多线程的口袋:
首先,无论何时进行外部调用,只要正确锁定,就可以使用多线程.这就是BLAS库MKL、Goto/Open BLAS、Atlas(如果已建成)的功能
如果您对所做的事情非常谨慎,那么可以使用OpenMP(多线程的编译器扩展).这始于Luke Tierney关于pnmath和pnmath0(以前是实验性/外部软件包)的工作,后来逐渐进入R本身,缓慢但肯定.
接下来,在一个多核世界中,在正确的操作系统上,您可以始终使用fork()
.这就是package multicore的先驱,以及现在正在进行的package parallel.
最后但并非最不重要的一点是Rmpi、snow、parallel等包使用的带有MPI的网络/RPC路由...并在HPC介绍中介绍.