第44章 GPU的妙用

    深夜的宿舍内,只有三人起伏的鼾声。

    齐凡逛遍外网各大技术论坛,还有各类论文数据库,以及各种大小期刊数据库。

    他发现一个可悲的现实--没人想过要用gpu来跑深度学习模型。

    所谓的深度学习,就是n层神经网络的叠加。就好比是千层糕,每一层神经网络就相当于千层糕中的一层。于是一层又一层的神经网络叠加,这块千层糕就越来高。相对来说,就是神经网络的深度越来越深。

    因此,采用多层神经网络的模型才会被称为深度学习模型。

    而神经网络层数越多,模型的深度越深,势必就会带来运算量的增加。

    虽然深度学习的概念早就被提出了,可是碍于cpu运算能力的限制,也就是碍于硬件能力的限制,一直没得到长足发展。

    齐凡好奇。既然cpu的运算量能力不足,那干嘛不上超算,搞它个一堆cpu。众人拾柴火焰高,几百个cpu一块运算,就不信这还不够。

    正在他好奇之间,脑海中的系统面板有了变化。

    【任务--开启并行计算。奖励:经验、积分、一次中级转盘奖励。】

    齐凡嘴角邪魅一笑。他如今对这系统的尿性已经有十足了解。每当自己接触新东西时,就会触发这系统的提示。

    既然眼下系统提示了,那说明自己的路子就是正确的。

    并行计算?多核cpu还是用gpu?

    齐凡查了下多核cpu的现状。除了那些被当成国之重器的超级计算机,一般的服务器撑死了十几个cpu就不得了了。

    这系统不可能指引自己去碰超级计算机的,因为那玩意儿根本就不是如今的自己能触碰的。况且这任务的奖励是一次中级转盘,从奖励来看也不是难于上青天的任务。

    那也就只有两种可能。用多核心服务器或者是用gpu。

    齐凡先查了下cpu和gpu的运算原理。cpu和gpu相比,前者更像是串行计算,就是一条条数据排着队一次被cpu处理。而gpu则不同,它可以让格式雷同的数据,排排站手牵手并排地被它处理。

    多核心的cpu本身并未改变cpu的计算方式,只是相当于多找了些帮手。一个核心的cpu就是一個帮手,多核心cpu相当于一群人一起干活,但是每个人干活的方式却并未改变。

    那答案就呼之欲出了,肯定是用gpu来支持并行计算。

    而眼下遗憾的是,齐凡并未在网上找到任何相关的资料。不过呢,这既是他的麻烦,也是他的机会。

    因为没人做过,他就成了那个第一个吃螃蟹的人。

    齐凡当即上英威达的官网,下载了gtx680的底层库。他打算动手自己写。

    这底层库非常不好找,在英威达官网极其角落的地方。或许连英威达官方都觉得不会有人拿显卡来跑图形计算以外的工作。底层库被打开后,也证实了这一点。

    整个底层库的应用介绍中,全部都是关于图形计算的。齐凡无奈吐槽:可怕的惯性思维,待我来给你们一点小小的震撼。

    贤者饮料被大口大口的灌下,齐凡快速检索着底层库的英文文档。

    这显卡底层库的设计初衷,是给phtshp和cad等绘图软件用的。因而提供的接口文档简直稀烂。英威达官方就没打算给个人开发者使用,而对于phtshp那类大公司产品,英威达自然会派专业工程师负责对接。

    齐凡猜测,英威达肯定不会给那些大公司也提供这种晦涩难懂的破文档。这放在官网上的底层库鬼知道是什么垃圾版本,弄不好是u一堆。可无奈,他眼下只好先凑合拿来用用。因为他要是给英威达官方发邮件,对方肯定不会鸟他。

    临近拂晓,齐凡总算用c++写了个英威达显卡的pythn接口库。测试了下,果然u一堆。而且细看那些u,很多都是无厘头,在文档上找不到半点信息的。

    无奈,齐凡只好想了个折中的办法--跑去ithu吐槽。