打算购买几台Xeon Phi 5110P,但尝试估算需要更改多少代码或所需的其他软件。
目前,我通过使用R
包,将其他包foreach
,forecast
等传递给它来进行并行处理,从而在多核Windows计算机(24核)上充分利用了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才能在Phi上获得foreach
的好处?
似乎其中一些将在编译R之后自动处理,并由数学内核库(MKL)进行卸载,但是我对此不太确定。
相关问题:Is the Intel Xeon Phi usable without a costly Intel Compiler?
另外,revolutionanalytics.com似乎也有一些相关的博客文章,但对我而言并不完全是结论性的:http://blog.revolutionanalytics.com/2015/05/behold-the-power-of-parallel.html
最佳答案
如果您只需要矩阵运算,则可以按以下方法使用MKL库进行编译:[在支持Intel®Xeon Phi™协处理器的情况下运行R] [1],这需要Intel Complier。 Microsoft R随MKL一起预编译,但是我无法使用自动卸载,我必须使用Intel编译器来编译R才能正常工作。
您可以使用试用版编译器并在试用期内对其进行编译,以查看其是否符合您的目的。
如果您想通过设置集群对每个包使用之类的东西,因为每个节点都是一台linux计算机,恐怕您不走运。在[R-Admin] [1]的第3页上说
您必须使用英特尔编译器从xeon主机交叉编译xeon phi节点,这是不可行的。
利用Phi的最后一种方法是重写代码以直接调用它。 Rcpp为C和C++例程提供了简单的接口(interface)。如果您发现在Xeon上运行良好的C例程,则可以在代码中调用这些节点。我已经使用CUDA做到了这一点,并且Rcpp是一个薄层,并且有很好的用法示例,如果将其与调用phi卡节点的示例结合起来,则可能可以以较少的开销实现目标。
但是,如果您需要的只是矩阵运算,那么没有比 super 好的 double nvidea卡和在R启动过程中预加载nvBlas更快的 super 计算方法了。
关于使用Xeon Phi进行R并行处理,代码更改最少吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35635037/