一. NVIDIA的股票曲线
NVIDIA的ceo人称老黄,在把公司的战略转移到深度学习上之后,过去的一年股价的翻了一番。现在基本上搞深度学习的公司都会屯一批nv的显卡。说nv是dl战争时代的军火商,并不为过。正好有机会参加了创新工场组织的NVIDIA的技术分享会(当然包括推广)。在此总结下nv在软件和硬件上提供的solution。
二. 硬件
按照价格和不同使用场景区分,新一代的Tesla gpu提供了如下的选择
-
PX100
作为后端训练性能最好的类型。分兼容pcie和集成2个版本。其中集成版本支持nvlink技术。双精度运算在4.7TeraFLOPS左右 -
DGX-1
其集成了8块PX100和cpu存储等作为整机。性价比比较低。13W美金 -
K80
后端训练次优配置。双精度运算在2.91 Teraflops左右 -
titan X
这款才是深度学习创业公司用的最多的显卡,性价比最高,不到1W的价格。最新的Tesla的titan X 是需要抢购或者从国外带过来的 -
M40和M4
这两款gpu的优势是功耗低,省电 -
PX2
PX2开始进入到自动驾驶行业,电动车特斯拉最新的自动驾驶技术就是采用px2作为核心的硬件计算单元。其特点是功耗低,并对多种传感器进行了抽象适配融合。为了适应不同的应用场景。它有1,2,4不同版本的配置。这个行业市场非常大 -
Jetson TX1
这款主要是面向嵌入式应用场景,比如:智能家居设备。功耗更低
三. 软件
虽然NVIDIA是硬件起家,但是老黄仍然把自己定义为软件公司。其亲自lead了很多软件项目的研发,比如最常用的cudnn。也正是因为如此,nv才能在深度学习这个领域把AMD甚至intel甩在后面。现在主流的深度学习框架都深度依赖了nv的硬件以及lib库
【深度学习NVIDIA软件列表】
【GPU-Accelerated Libraries列表】
-
cuDNN
The NVIDIA CUDA® Deep Neural Network library (cuDNN) 。支持深度学习网络中卷积,池化,激活,等操作。现阶段最高版本是5.1。更好的支持了rnn -
cublas
GPU上基础的线性代数加速库 -
cusparse
GPU上基础的稀疏矩阵线性代数加速库 -
tensorRT
针对模型部署做inference性能的优化,定点化到int8或者fp16,并保持算法的准确率不变 -
deepstream
针对实时视频数据处理的sdk,支持基于tensorRT部署现有成熟的dl网络进行实时的分类处理,一个应用是直播中的色情分类 -
nccl
优化基于pcie显卡之间的通讯速度。优化之前通讯需要经过cpu的内存进行中转 -
DIGITS
NVIDIA尝试给出的深度学习框架。支持数据流pipeline,集群维护,图像分类和目标检测等等功能。但是不适合算法研究使用。灵活性较低 -
NVIDIA Docker
NVIDIA修改了docker 的engine支持容器化运行。这解决了cuda等多版本升级维护复杂的问题
四. 小结
NVIDIA在服务端,自动驾驶和嵌入式都有对应的布局。并且为研发人员提供了强大的开发工具(据说自动驾驶的sdk已经开发了2年)。现阶段的优势还是比较明显的。随着市场越来越热,在服务端其会面对intel FPGA解决方案的竞争。在移动设备端会面临专门的ASIC架构产品的竞争。不知道随着AI落地生根的之后,是否能成为pc时代的intel和移动时代的高通