用Rmultithreading?

阅读R-project网站,有一些(不清楚)引用multithreading与R,但目前还不清楚如何编译基本产品和CRAN库。

Revolution Analytics为Windows和Redhat提供了multithreading的基础(?)下载。

其他一些Linux发行版还会包含multithreadingR(和包)吗?

谢谢

你很困惑。

R(和之前的S)内部是单线程的,几乎肯定会保持单线程。 据我所知,Duncan Temple Lang的博士学位正在克服这个问题,如果他做不到的话…

也就是说,有multithreading的口袋:

  • 首先,只要你打外线电话,并且适当的locking,你可以去multithreading。 这就是BLAS图书馆MKL,转到/打开BLAS,图集(如果构buildmultithreading),…都提供。 Revo R“仅仅”与(英特尔)MKL一起发货,因为英特尔恰好是Revo的关键投资者

  • 如果你小心你所做的事,你可以使用OpenMP(multithreading的编译器扩展)。 这从卢克·蒂尔尼(Luke Tierney)在pnmath和pnmath0(曾经是实验/外部软件包)的工作开始,并且从此慢慢地,但是肯定地进入了R本身。

  • 接下来,在多核世界中,在正确的操作系统上,您总是可以fork() 。 这就是多核开创的scheme,现在正在进行的并行scheme。

  • 最后但并非最不重要的是,包含Rmpi,snow,parallel,等包的MPI使用的networking/ RPC路由,并在HPC介绍中进行了介绍。

那这个怎么样? 由于该页面的修改date是2014年5月份,所以我认为上面提到的软件包是比较新的,或者在写出第一个答案的时候可能还不稳定。

您可以通过使用KNIME或任何其他利用rserve.exe可执行文件的程序来有效地multithreadingR。 在KNIME中,您可以将R代码段放入并行块节点系列中,以便按行进行操作。 对于按列操作,可以将数据集分割为列的子集,并在每个集合上执行R Snippets,然后将它们合并回去。

我希望这可以让你的CPU风扇旋转得更快!

革命R开放说他们提供

高性能R语言引擎(采用英特尔®math核心库的multithreading处理)