没有英伟达CUDA,深度学习的发展将延迟?

2019-03-29 14:00:04 来源: 半导体行业观察

在早前举办的英伟达GTC大会上,英伟达方面表示,如果没有CUDA,深度学习的发展将会延迟。

诚然,这样的结果,也许让NVIDIA觉得意外,但并不会觉得陌生,因为在2007年,NVIDIA推动CUDA架构(Compute Unified Device Architecture,计算统一设备架构)时,也是个疯狂激进与走在「未来」的产品。

GPU的强项在于图形绘制,若想要用GPU做非图形,如科学运算或一般类型运算,复杂麻烦又没效率,而NVIDIA的CUDA让GPU做图形以外的运算变得简单容易。

所谓CUDA 是 NVIDIA 创造的一个并行计算平台和编程模型。它利用图形处理器 (GPU) 能力,实现计算性能的显著提高。借助目前已售出的数百万支持 CUDA 的 GPU,软件开发人员、科学家和研 究人员正在各种各样的应用程序中使用 GPU 加速计算。

在GPU加速的应用程序中,工作负载的顺序部分在CPU上运行,针对单线程性能进行了优化,而应用程序的计算密集型部分则并行运行在数千个GPU内核上。使用CUDA时,开发人员使用C,C ++,Fortran,Python和MATLAB等流行语言进行程序设计,并以几个基本关键字的形式通过扩展表达并行性。CUDA工具包包括GPU加速库,编译器,开发工具和CUDA运行时。

CUDA的核心设计理念就是计算机中的线程。与传统CPU中的4、8和16个线程不同,GPU中的线程可以多达几万个。

「CUDA可以运作在NVIDIA GeForce 8系列之后的GPU上,GPGPU也算是一种平价的高效能运算方式,它把桌上型电脑变成一台个人的超级电脑(personal supercomputer in a desktop)。」《GPU高效能运算环境—CUDA与GPU Cluster介绍》一文中强调。

这是个伟大的创新,但在当时NVIDIA的主要客户还没有高速运算需求的电脑游戏或美术设计业者,但NVIDIA挺而走险,坚持要做到大规模普及,因此在GeForce 8系列后「每一款」GPU都支援CUDA。

「即便是今天回想起来,这仍然是一个风险极高、形同疯狂的决定。这意味着面对这些尚没有高性能运算需求的传统客户,NVIDIA都必须在硬件产品的设计中增加相关的CUDA逻辑电路,这使得芯片面积增大、散热增加、成本上升、故障几率增加;同时,对于每一款产品,相关的软体驱动都必须保障对CUDA的完美支援。」中国AI公司格灵深瞳执行长赵勇撰文指出。

2007年NVIDIA正式把CUDA引进产品中,当时AI还处于第二次寒冰期。由深度学习教父辛顿(Geoffrey Hinton)执笔的深度学习技术重要文献《Deep Belief Networks》在2006年才刚发表,距离2012年至2013年AI应用大爆发时期还有六年至七年时间。

CUDA与GPU硬件本身紧密的结合,推升现在的GPU加速浪潮,让AI走出实验室走入企业。CUDA是深度学习发展的加速剂,让深度学习的计算速度倍增。

CUDA让NVIDIA的GPU生态圈迅速成型,而CUDA也帮NVIDIA筑起一道坚固护城河。「如果没有NVIDIA的CUDA,科学界证实深度学习巨大潜力的时间不知道还要推迟多久。」赵勇强调。NVIDIA也因此收获甜美的果实,股价在2016年年初的20元至30元开始涨至2018年中的270元至280元。

英伟达花了好几年才让CUDA牵住了客户,不过CUDA也帮英伟达在高性能运算市场索回了相应的回报。2012年,CUDA和GPU与深度学习的神经网络结合在一起,震惊了学术界。 当时,加拿大多伦多大学的Geoffrey Hinton带着两个学生,用GPU训练深度神经网络拿下了ImageNet图像识别大赛的冠军,然后开启了深度学习的黄金时代。

责任编辑:Sophie
半导体行业观察
摩尔芯闻

热门评论