泉源:本文内容来自知乎,作者风辰,感谢。
前几天和一个在英伟达的老同事兼老同砚一路用饭时,聊到了很多老同事,非常感叹;我们这些人各有各的乐成,配合的是都是在英伟达GPU盘算这个平台上,在HPC的营业上开启了职业第一站。追念起2007年末英伟达第一次公布了CUDA,今日恰好是12年,在中国的天干地支计年法中,12年是一个循环,中国的电视剧中每每在循环之时回顾往事。
我2008年开始利用CUDA做GPU盘算方面的事情,2011年参加英伟达,之后也根本一向从事HPC行业事情,履历了英伟达的GPU盘算营业险些从开始到如今的全历程,我想对付这个标题照旧有必然发言权的。
我把英伟达GPU盘算的乐成总结为四个要害要素:计谋前瞻、焦点本领构建、专注细分市场和器重生态,每个要害要求下面包罗四五个小身分。
计谋前瞻,向导决定统统
2008年我刚在中科院历程所读硕士,第一次打仗到GPU时非常惊讶,在其时4核CPU只有100GFLOPS盘算本领的时间,英伟达的Tesla C1060已颠末T了,而且推出GPU上的通用盘算编程体系CUDA,相比友商的方案,明显低落了编程难度。在谁人时间稍早,在GPU上写通用盘算步伐是要用OpenGL的,找某CPU厂商优化应用步伐性能是要别的费钱的。在相近的代价下,可以或许得到近一个数目级的性能提拔,而且硬件还可以用来玩高端游戏,这为GPU盘算的扩张奠基了硬件底子。
2008年AMD已经推出了16核的CPU,民众开始意识到再在单板上堆更多的CPU焦点有点不太实际,而通过CPU频率提拔来进一步提拔单核性能这条路也难认为继;在如许的大形势下,英伟达把之前用于图形衬着的流水线GPU架构更新为同一架构,让盘算使命和图形衬着使命利用配合的硬件单位运行,对图形衬着来说这固然白费了一些GPU资源,但是他开启了GPU通用盘算的新期间,而同一架构使得在GPU上面运行通用的使命变得更为简单,可以基于CPU的通用的编译器和东西链技能进展GPU技能,之前的知识和技能可以相比拟较简单的迁徙到GPU上,扩大了潜伏的开辟者数目。今后的汗青证明白,英伟达向导人的计谋目光。
在家人们都意识到摩尔定理难认为继的时间,HPC范畴并无太多潜伏选择,利用新架构是一个大概性,但是量子盘算、生物盘算都新架构还远未到达可用程度,其时唯一的选择只能是异构盘算。通过把差别特性的盘算使命交给差别的硬件实行,异构盘算可以或许得到远高于通用CPU的性能和服从,但是其时对付异构盘算有很多选择,好比DSP、FPGA以及种种ASIC,它们之间互不兼容,谁可以或许终极笑傲江湖,仍旧是未定之数。在NVIDIA 推出CUDA之后,统统就已经确定了,CUDA利用C说话扩展并行编程,通过共享存储器来通讯,两个条理的并行都方法简化了编程,使得本科生也可以或许利用CUDA来写大范围高性能盘算步伐;AMD的brook++一下子就黯然忘形,brook是斯坦福一个试验室开辟的,Ian Buck其时正在那边练习。brook++是brook的升级版本,而当时Ian Buck已经在开辟CUDA了,某种意义上说,CUDA从一个全新的路径上抛弃了brook,而brook++只对brook做了修补,之后的进展家人们就都知道了。这段汗青报告我们,扬弃“汗青”大概意味着全新的大概和时机,固然这必要机遇、向导者的勇气、刻意和继承。
2012年一代不世出的天才alex 和 其导师Hinton利用CUDA在NVIDIA GPU上编写了CUDA-CONVNET框架,在ImageNet比赛中一鸣惊人,开启了深度进修的全新期间,英伟达敏锐的观看到了其潜伏的大概性,开始向天下的互联网大企业倾销GPU,而且专门设立了互联网行业贩卖,我也是在谁人时间开始存眷BP算法,而且在一年后决定脱离英伟达参加了其时方兴未艾的百度IDL。参加百度IDL后,动手开辟深度进修底子库,其时在英伟达GPU上开辟的深度进修底子盘算,性能远超CUDA-CONVNET和Caffe,在此时期和alex在google code上有过商议,其学术天才华质让我自感汗颜;在一次内部Hi商议中,我论断:假如英伟达在Deep Learning范畴做乐成,他在深度范畴的成绩将会远超在传统HPC范畴,其时在谁人群中的朋侪仍旧活泼在各至公司,但各人成绩差距渐大,这是后话了。在向互联网公司倾销GPU的同时,英伟达就开始了其深度进修底子库CUDNN的开辟,而且在不到一年后推向市场。而我在转正时决定脱离百度IDL,厥后跟随汤晓欧传授建立商汤,走向了别的一段路程。
在CUDA推出的一段时间内,英伟达的HPC营业收入相比别的营业照旧小头,但是英伟达照旧为了GPU盘算开辟了一代“热卡”Fermi,Fermi进一步低落了CUDA编程的难度,但是在游戏市场上差点被AMD战胜,Fermi激发了是否应该为盘算单独设计一个GPU架构的商议。几年后,当我独从容种种限定和压力下究竟上卖力一个营业的时间,我意识到“大黄”的聪慧睿智,假如当年真的为盘算独立设计GPU,今日英伟达的GPU盘算营业大概已经失败,脱离英伟达的几年里,我缓缓深刻的了解到“大黄”是真正的计谋天才,这也缓缓让我和商汤渐行渐远,终极分道扬镳。
由于营业体量小,英伟达的GPU盘算照旧挂在别的营业下面,这潜伏的影响了GPU盘算营业的进展,约莫在2013年,英伟告竣立了相干的BU,而且任命 Ian Buck作为卖力人。Ian Buck是一员虎将加福将,在他卖力之后,英伟达的GPU盘算营业快速进展,很快迎来了深度进修期间。我记得:在潜伏卖力英伟达的GPU盘算营业的候选人中,Ian Buck的职位并不高,但是任命他时,我没有听说有人质疑。这件事教会我不拘一格降人才的紧张性,厥后在我卖力营业时,鼎力大举提升和造就了很多人才,使得我的团队成为商汤最强团队之一,而我在卖力的多个范畴里也创建了本身的声望。在我脱离商汤后,我进一步意识到什么是真正顶尖的人才。
从2008年到2014年,在深度进修产业界大量应用之前,GPU盘算给英伟达带来的利润并不高,客户范围在一些着名大国企,但是每年的GTC “大黄”都市花大量的时间先容GPU盘算,出了什么新卡和新库,CUDA新版本有那些特性等等,参会时每每忘记这是一家卖显卡的公司。
焦点本领构建,连续进修
当GPU从流水线架构转向同一架构时,这意味着英伟达要开始转型了,由于流水线架构的GPU只是一个图形衬着的“加快器”,而同一架构的GPU已经可以称为处置惩罚器了,这标记着英伟达从图形衬着范畴进入了HPC范畴。
HPC营业必要的焦点本领和GPU图形衬着所必要的焦点本领有非常大的区别,在英伟达进入HPC范畴的时间,面对了非常大的焦点本领构建的挑衅;一个典范的例子便是:早期cublas和cufft的性能一而再再而三的被 HPC 范畴人士吊打,但是英伟达很快就在相干范畴创建了本身的焦点本领,之后再也很少有人可以或许提出吊打 cublas 和 cufft 的盘算要领了。在被吊打时期,英伟达卖力的团队蒙受了非常大的压力,但是英伟达内部并没有给多的求全,更多的是提出盼望,而底子库团队也展示出了精良的风采,聘请相干职员去GTC上做讲座,去交换,然后把进修到的结果更新到底子库中。从这段履历里,我进修到了两个受用至今并一向对峙的焦点本领:一个是进修和迭代,另一个是办理题目而非求全。我每年至少读十几本书,找几十个差别的人谈天,从书和他人身上进修好的方面。在带团队之后,鄙人属没有很好的办理题目时,我每每说:我发怒是由于我以为你可以做得更好但是你没有,这是一种盼望而非求全。
在英伟达焦点本领的构建历程中,定时间来看,重要有两个部门:高性能盘算本领和AI算法本领,其构建要领根本上是通过挪用优异人才组建初始团队,然后再通过校招和社招增补范畴顶尖人才。在详细的对外结果输出上面,通过螺旋式提拔来加强竞争力,几个迭代下来,险些酿成了业界最优的实现,cublas、cufft、cudnn和今日的很多新库根本上都是同样的方法完成的。在独自成军后,我也根本上借用了这个规律来创建新的团队,集合一位故意向、进修本领、了解本领很强且具有自我成绩感和寻求的新人来卖力,同时给他配备最优异的新人,通过我的本领和威望让团队很快凝集起来,形成团体创建配合目的;在产物开辟上,初版专注于应用场景的走通而非数字指标,之后再通过数字指标来引领希望,迭代提拔。在办理题目的历程,夸大尽力寻求最好的希望而非完善,在一个挑衅性的课题中,设计的越好大概就意味着失败的大概性越大,由于在这个不确定性占主导的期间绝大多数时间没人清晰的知道终极的效果全貌,我们只有一个含糊的形象或认知,而我们必要做的是一头扎进去,在这种情形下维纳斯才是完善。
专注细分市场,攻敌所不守
在CUDA推出时,高性能盘算市场英特尔根本上金瓯无缺,英伟达想无论是渠道、生态照旧技能都远远落伍,在这种情形下要从Intel嘴里抢肉吃,谈何简单,选择符合的细分市场和互助同伴就很紧张。孙子兵书所攻其所不守,“大黄”又一次展示了其计谋天赋,很明智的,英伟达从一个英特尔不克不及竞争的角度动身,英伟达说用上GPU你的步伐就快了几多倍,你买的办事器就少了几多,你的维护本钱就更低了,这个规律自己并不那么吸惹人,由于客户没须要冒险从一个已经被很多人证明的平台迁徙到另一个平台;但是这个计谋聪慧的地方在于:英特尔没法还击,由于英特尔不克不及说我优化一下代码,你用GPU的相对速率就没那么快了,由于一旦客户的步伐快了,他买的呆板就少了,这相称于断本身的收入。“大黄”真正实现了“攻敌所不守”。
“攻敌所不守”并不克不及包管人们必然会用GPU盘算,由于没有应用,英伟达没有一下子就从产业界动身,而是发觉了从学术界动身的这条路,相比产业界,学术界更情愿试用新技能,终究那么多门生要发论文结业。英伟达通过多种方法鼓舞高校和研究所从事CUDA相干的研究事情,设立CUDA研发中间,发CUDA大家证书,做CUDA技能认证,让学术界为CUDA背书。通过学术界为产业界做预研,通过学术界为产业界造就人才。
超算是一个国度的焦点竞争力之一,天下重要大国在这个范畴竞争了几十年,在可见的时间下仍旧会竞争下去,这一范畴有几个典范的赛场:top500和green500,环球的多个国度都在这些赛场上展示本身的气力,而英伟达GPU超强的盘算本领恰好得当这个赛场,英伟达为列国的超算中间和国企在此赛场上的竞争提供弹药。因为对国度来说,超算是焦点竞争力,而国度并不缺乏“小钱”,更不缺乏人才,而在超算赛场上拿到第一对大众的骄傲感有极大的振作作用,主导这些比赛的小我私家也得到了庞大的政治收益,他们费尽心机的利用种种技能来提拔超算的竞争力,GPU为他们提供了最好的弹药。英伟达通过支持列国的超算中间勇夺第一,既得到了经济收益,又作了很好的宣传。
深度进修大火后,英伟达为互联网至公司提供GPU用于深度进修练习,这一范畴根本上已经据有肯定上风,而且为英伟达奉献了大量收入和近十倍的市值提拔。当英伟达意识到深度进修是一个潜伏的大市场并为之鼎力大举投入时,其竞争敌手几无察觉。
器重生态,有所为有所不为
在推出CUDA后,怎样创建生态,吸引开辟者利用CUDA决定了英伟达是否可以或许生存下去,英伟达推出了一系列的步伐来创建生态,此中一些起到决定的性的作用。
在CUDA刚推出的时间,英伟达廉价的Geforce游戏卡就支持 CUDA,这一下子把CUDA的入门设置装备摆设投入低落到千元级了,根本上谁人学校的老师都买得起,完全去失了设置装备摆设这个限定,进步了开辟者的笼罩面。一些读者大概要问:那英伟达怎么赢利?答案是英伟达有企业级的Tesla卡,相比Geforce,Tesla为企业盘算提供了更多支持,并且代价贵了很多。笔者CUDA开辟的第一块GPU卡便是 Geforce 系列,厥后在前店主时,决议计划为集群利用了大量的 Titan 导致英伟达的同事指责,据称由于 Google 和 facebook听说我们在用 Titan,是以他们也决定用Titan。2017年英伟达GPU驱动协议要求不克不及在数据中间利用 Titan,这是一个很故意思的活动。
通过支持门生和老师发论文,英伟达为CUDA造就了大量的潜伏开辟者,而发论文和开辟者由于兴趣进修的最大区别是:发论文是一定要学,总不克不及由于不进修而毕不了业,而要结业更要让应用的性能充足好。
英伟达通过inception打算支持创业公司采纳CUDA做项目,进入Inception打算的项目可以或许得到英伟达的资金和宣传支持,这对很多创业公司来说照旧有必然吸引力的。对付英伟达来说,通过 Inception 项目,他可以或许相识天下上最领先的创业公司在做什么,同时通过投资等本领把这些创业公司吸引到本身的生态中。
英伟达开源了很多库,如支持常见并行原语的cub,支持多GPU之间通讯的NCCL,英伟达优化的nvcaffe等等,这些库低落了各个范畴利用英伟达GPU开辟应用的难度。但是对付现有行业乐成软件和中心件,英伟达根本上没有推出替换品,英伟达没有本身的MPI实现,没有本身的深度进修框架,英伟达通过开辟可以或许优化这些中心件的性能的底子库给这些厂商使能,通过这种“多交朋侪”的方法,英伟达扩大了生态触角;又幸免了本身去做的潜伏失败大概,现实上大企业进入一个新的范畴碰到波折是常见的,一旦失败,既被对方视为仇人又强化了对方的范畴影响力。
★ 点击文末,可检察声明原文!
*免责声明:本文由作者原创。文章内容系作者小我私家看法,半导体行业观看转载仅为了转达一种差别的看法,不代表半导体行业观看对该看法赞许或支持,假如有任何贰言,接待联络半导体行业观看。
今日是《半导体行业观看》为您分享的第2823内容,接待存眷。
晶圆|集成电路|设置装备摆设|汽车芯片|存储|台积电|AI|封装