python 调用gpu算力_低配版GPU加速

关于GPU加速的一些问题

对于GPU加速一直觉得是一个很高端的东西,可以提升计算的速度,但真正用到自己身上的时候才发现面临很多的问题。

硬件配置

自己想要尝试,但是却又没有新添设备,想用自己的笔记本先弄白其中的原理。自己的笔记本配置有NVIDIA的GEFORCE 920M,在英伟达官网查询的结果显示还是支持CUDA的,心怀感激,毕竟自己的本子也有些年岁,当年也算不上什么高端机。

说干就干,安装CUDA的坑还是不少的。

其一,显卡驱动的版本问题,cuda的版本问题都是环环相扣的,在英伟达的官网中部分叙述(自己的本子是win10的系统,当初从win8直接升级起来的,里面有些问题也一直没有解决,因为对本子依赖挺多,就之一没有动系统,这次也没有打算做Linux的尝试,但后来发现埋下很多坑)

提醒以下,安装的步骤很多情况下很说明问题,关键点在于一些依赖关系的存在,所以老老实实按顺序来是很重要的。

首先,上VS。自己一开始以为不是很重要,导致CUDA的部分安装失败很是苦恼。最好上了VS2017

其次,不要相信驱动自动更新。有时候自动更新的驱动会是最新的或是特别版本的,所以兼容性可想而知,所以适用的稳定版本才是王道。最好是官方测试过的版本。

最后完成的配置是:

385.54的显卡驱动+9.0的CUDA+7.5的CUDNN

兼容问题从来没有完整的解决方案,针对不同的情况还是只能采取不同的解决方法。欢迎大家一起讨论。

软件配置

自己没有跳出win10的平台窠臼,就将就这么用着了,毕竟也不是上什么项目,学习为主。主要的软件平台有两个:MATLAB和PYTHON

从软件平台的角度讲,只要支持,用着顺手就行(关于这方面,自己C语言出身,之后发现其他上手都挺快,当然要成为master就不容易了,这方面以后有空写)。

自己之前装的MATLAB2016B,还可以该有的机器学习相关的模块也有,和GPU加速相关的模块也有,MATLAB自带帮助这点挺招人喜欢的。在硬件配置完成之后基本按照帮助手册GPU加速就可以简单入门了。自己的GEFORCE 920M算力3.5,和自己低功耗的i5-5200U相比在特定的计算上还是有些优势的。

PYTHON,火于机器学习的语言吧,不加评论,典型的可以GPU加速的库tensorflow。装tensorflow让人感受到一丝不友好。

初始情况是win10平台安装了PYTHON 2.7,然而tensorflow在win10平台不支持PYTHON 2.7,只能在装PYTHON 3,因为PYTHON 2和PYTHON 3本事不兼容,又PYTHON 2自己还有点用,只能选择同时安装PYTHON 2和PYTHON 3(PYTHON 2和PYTHON 3熟悉的人都知道也不评论)。

很不幸的下了PYTHON 3最新的3.7,但tensorflow在win10平台下支持3.5和3.6,很不甘心地找到了一个trick方法,利用tensorflow的PYTHON3.6版本装在了PYTHON 3.7上。有时候总是很愚蠢,装完发现tensorflow是cpu版本的,折腾gpu版本的时候,trick方法不是很好用了(也有说采用自己编译安装的方式,过于麻烦就没有尝试了)。最后卸载PYTHON 3.7,安装PYTHON3.6,装上了tensorflow_gpu_1.12。

应该有人能猜到了,GEFORCE 920M的算力3.5被残忍拒绝了(tensorflow版本发布的时候没有明显的GPU算力要求,只是说3.5或更高,可能默认大家用的GPU都不会太差吧),事实上,tensorflow_gpu_1.10还是支持算力3.5的GPU,但tensorflow_gpu_1.11以及之后的版本最低要求就变成3.7的算力了,这应该就是其所谓的更高了。

到此,问题也告一段落了(包括忽略了tensorflow_gpu_1.10安装版本对AVX2的支持问题,相信也有人遇到)

最后的PYTHON配置是2.7+3.6+tensorfow_gpu_1.10

小结

总结下来,有些问题的产生和本身的低配不无关系,毕竟有些东西也慢慢会被淘汰;另外win10平台也不是该领域的主要平台。当然整个流程下来还是有很多收获的,欢迎交流!

你可能感兴趣的:(python,调用gpu算力)