第44章 GPU的妙用
0.1秒记住本站域名 [ixs.cc]
点击下载小刀阅读APP

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

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

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

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

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

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

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

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

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

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

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

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

  并行计算?多核CPU还是用GPU?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  齐凡登录github账号。自己的那个去除马赛克项目又涨了不少start和评论。

  他灵机一动,正好利用这波小热度。

  于是他fork了一个去除马赛克2.0版本。

  很多人都在呼吁他出2.0版本,现在2.0版本来了。

  齐凡写了个项目介绍。

  “hello,everyone.V2.0iscoming.”

  “igotagoodideal,wecanusedeaplearningwithGPUforthiswork.”

  “now,allwhatineedisthefuckingNVIDIAcouldoffertheircompletebasiclib.”

  齐凡的意思是:他打算用GPU加持深度学习来出去除马赛克的第二版,现在万事俱备只欠东风,他需要英威达的完整底层库。

  齐凡项目刚创建,他的这个新项目就上了github首页推荐。然后项目第一条评论来自github官方维护人员。

  “it‘sawonderfulideal,benefitingallhumanity.”(这是一个造福全人类的伟大创意)

  齐凡只能感慨:果然有些东西是可以跨越种族和文化的界限。

  完成这一整套操作后,齐凡拖着疲惫的身躯爬上床睡觉。

  当他醒来时,宿舍已经空无一人。手机上的时间显示是下午一点。微信上自然少不了李月的消息。

  齐凡先给李月回了个电话,告诉对方自己还活着。然后洗漱完毕去食堂吃饭。

  至于实验楼那边,许阳三人按着先前齐凡的思路按部就班,齐凡以近日课业繁忙为借口,最近都不打算再去了。

  回到宿舍后,齐凡第一件事自然是登录github。

  我擦。他一声惊呼。

  新创建的V2.0版本,一行代码都没有,只有一个项目介绍文件,可竟然一夜之间就获得了上千个点赞。

  来自世界各地的屌丝们,对于齐凡用深度学习来去除马赛克的想法,佩服的五体投地。他们给齐凡升级了外号。

  原先齐凡的外号是drivermaster,简称DM。如今他的外号是:rocketdriver,简称RD。

  大致意思是:齐凡的车速像火箭一样快,让众人始料未及。

  全球各大技术公司的CTO们,往往都在github这个顶尖开源网站上有账号,英威达的CTO也不例外。

  于是,英威达的CTO被一群人at。

  “offeryourfuckingbasiclib,orwewillkickyourass.”

  “yeah,rightnow,ifudon‘twanttosuckmydick.”

  来自世界各地的屌丝们情绪高涨,嚷嚷着让英威达CTO快点吧完整的底层库交出来,否则就要他好看。

  在一众技术屌丝们的狂轰滥炸之下,英威达CTO总算现身了。因为他要是再不现身,都有人号称要去英威达总部和他决斗。

  最后,齐凡真的收到了来自英威达CTO个人邮箱发来的一封邮件。

  邮件附件包含了最新的英威达显卡底层库,而且对方还表示:有任何问题都可以给他写邮件反馈。同时对方还向齐凡发来了一份实习邀请。因为齐凡在github的个人简介中有提到自己的年龄和教育背景。

  齐凡当然是先感谢了对方的帮助,然后婉拒了英威达CTO的实习邀约。因为他觉得自己如今的实力还不够,正是需要学习的时候。况且,远渡重洋好麻烦的。护照、路费,一堆的问题要解决。

  齐凡将最新的底层库下载下来,果然一下子就少了很多bug,他当即投入到了编码工作中。

点击下载小刀阅读APP,收录上百小说站,自动换源