怎么用gpu跑r语言代码

Python012

怎么用gpu跑r语言代码,第1张

用BLAS库进行。

现在做的DNN、CNN都是在底层把计算转换为矩阵乘法。加速矩阵乘法就是用的BLAS库。很多情况下,application叫做R standard interface,就是单线程实现的矩阵乘的库,可以很容易地把这个库替换下面的部分,既可以替换成GPU加速的cuBLAS库,也可以是多核或多线程的intel的MKL库和OpenBLAS。通过这种方式,可以很快地提高矩阵运算速度。

Linux下有个NVBLAS库,它其实是cuBLAS的wrapper,从它里面就可以调整各种精度的矩阵乘。

它不仅支持单GPU,还支持多GPU。它的主要好处是对code不需要做任何改变,也就是zero programming effort,只需要把NVBLAS库load在前面,这个库就被替换成cuBLAS,跑到GPU上。

所以在做应用程序开发,大家通常有一种思路,如果想加速一个计算,就尝试把这个计算转换成矩阵计算,并加载各种多线程库或并行库,那么程序可以得到很快地提高,这其中不需要太多code的重写。然后看下benchmark,有两种benchmark。

蓝色的线是用原来的的R跑的程序,可以看到运行时间多很多,加载了NVBLAS库以后,运行时间少了很多。其他是一些在很多程序里运用的基础算法。当程序比较依赖于这种基础算法,就可以考虑加载很多并行库,来看程序的运行效果。

1,ubuntu下安装sublime text3

打开终端输入:

sudo add-apt-repository ppa:webupd8team/sublime-text-3#添加sublime text 3仓库

更新库:

sudoapt-get update #更新库

安装sublime text 3 :

sudoapt-get install sublime-text-installer #安装sublime text 3

2,安装packagecontrol

下面就需要安装能运行R的插件啦,安装之前可以先安装packagecontrol具体方法如下

打开sublime text 3

通过快捷键ctrl+` 或者 View >Show Console菜单打开控制台

import urllib.request,ospf='PackageControl.sublime-package'ipp=sublime.installed_packages_path()urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()))open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http:// sublime.wbond.net/'+pf.replace('',' ')).read())

粘贴以上代码回车就好了。

3安装packages(R-Box和sublimeREPL):

sublime text 3中按下快捷键Ctrl+Shift+P调出命令面板,输入install选择installPackage选项回车,然后输入R-Box包,回车安装,然后同样的方法安装sublimeREPL包,安装好这两个包,恭喜你已经具备在sublime中运行的必要条件了,下面就是修改调试的过程了,

首先Ctrl+Shift+P调出命令面板输入R-Box:Choose Program 然后看见了sublimeREPL,ok就是选择这个。

然后菜单栏tools->sublimeREPL->R,此时R语言的运行窗口出来了,然后Alt+Shift+2实现左右分屏为两个栏,把R语言窗口调到右边就好了。

最后实践在代码框选中一段代码Ctrl+Enter,神奇的代码在右边出现啦,Ctrl+\是快捷设置R的工作空间为你代码所在的地方,超级方便。

好了赶快实践起来吧,感受sublime text 3带你飞的感觉,对了,还有就是每次启动时候要重新启动下sublimeREPL R这个没解决,以后解决的再发上来。