使用Xeon Phi进行R并行处理,最少的代码更改?

Zac*_*ary 5 parallel-processing foreach r xeon-phi

看着购买一对Xeon Phi 5110P,但试图估计我需要改变多少代码或其他需要的软件.

目前我利用好R对多核心的Windows机器(24个内核)使用foreach包,通过它其他的包forecast,glmnet等做我的并行处理.

有一个Xeon Phi我明白我想编译R https://software.intel.com/en-us/articles/running-r-with-support-for-intel-xeon-phi-coprocessors我明白这可能是完成了Parallel Studio XE的跟踪版本.

那么我是否需要编辑R的Makeconf文件,添加C/C++标志和Phi?在Parallel Studio上的跟踪到期之前编译所有需要的包?或者我是否不需要编辑Makeconf以获得foreachPhi 的好处?

似乎其中一些将在编译R后自动处理,并由Math Kernel Library(MKL)完成卸载,但我不完全确定这一点.

一些相关的问题:英特尔至强融核是否可以在没有昂贵的英特尔编译器的情况下使用?

此外revolutionanalytics.com似乎有一些相关的博客文章,但不是完全确凿的对我来说:http://blog.revolutionanalytics.com/2015/05/behold-the-power-of-parallel.html

小智 1

如果您需要的只是矩阵运算,您可以在此处使用 MKL 库对其进行编译:[Running R with Support for Intel\xc2\xae Xeon Phi\xe2\x84\xa2 Coprocessors][1],这需要 Intel 编译器。Microsoft R 是用 MKL 预编译的,但我无法使用自动卸载,我必须使用 Intel 编译器来编译 R 才能正常工作。

\n\n

您可以使用试用版编译器并在试用期间编译它,看看它是否符合您的目的。

\n\n

如果你想通过设置集群来使用foreach包之类的东西,因为每个节点都是一台 Linux 计算机,恐怕你就不走运了。[R-Admin][1] 第 3 页上写着

\n\n
\n

交叉构建是不可能的:安装 R 会构建 R 的最小版本,然后运行许多\n R 脚本来完成构建。

\n
\n\n

您必须使用英特尔编译器从 xeon 主机对 xeon phi 节点进行交叉编译,这是不可行的。

\n\n

利用 Phi 的最后一种方法是重写代码以直接调用它。Rcpp 为 C 和 C++ 例程提供了一个简单的接口。如果您发现一个在 xeon 上运行良好的 C 例程,您可以在代码中调用这些节点。我已经使用 CUDA 完成了此操作,Rcpp 是一个薄层,并且有关于如何使用它的很好的示例,如果您将其与调用 phi 卡节点的示例结合起来,您可能可以以更少的开销实现您的目标。

\n\n

但是,如果您需要的只是矩阵运算,那么没有比良好的双精度 nvidea 卡和在 R 启动期间预加载 nvBlas 更快的超级计算途径了。

\n