TESLA V100如何让质疑GPU的流言“失声”
【IT168 评论】GPU在人工智能来临的前夜火了,很多人的眼光也聚焦到了英伟达身上,随之而来的,流言也就多了起来。有人认为,GPU在人工智能的应用存在一定的局限性。但这些只同留在TESLA V100发布之前,这块手掌大小的芯片凝聚了 Nvidia 7000 多名工程师超过 3 年的研发,投入资金 30 亿美元。
据了解,TESLA V100 使用的 GPU 就是 Volta 架构的首款产品 GV100。这块手掌大小的芯片凝聚了 Nvidia 7000 多名工程师超过 3 年的研发,投入资金 30 亿美元。TESLA V100 集成了 210 亿个晶体管、5120 个 CUBA 内核,双精度浮点运算性能达到 7.5 TFLOP/s、显存带宽为 900GB/S。
我们看看TESLA V100具体从哪些方面让流言不攻自破:
流言一、GPU应用过程中无法充分发挥并行计算优势。深度学习包含训练和应用两个计算环节,GPU 在深度学习算法训练上非常高效,但在应用时一次性只能对于一张输入图像进行处理, 并行度的优势不能完全发挥。
针对深度学习优化的流式多处理器(SM)架构。作为 GPU 处理器的核心组件,在 Volta 架构中 NVIDIA 重新设计了 SM,相比之前的 Pascal 架构而言,这一代 SM 提高了约 50% 的能效,在同样的功率范围内可以大幅提升 FP32(单精度浮点)和 FP64(双精度浮点)的运算性能。专为深度学习设计的全新 Tensor Core 在模型训练场景中,最高可以达到 12 倍速的 TFLOP(每秒万亿次浮点运算)。
另外,由于全新的 SM 架构对整型和浮点型数据采取了相互独立且并行的数据通路,因此在一般计算和寻址计算等混合场景下也能输出不错的效率。Volta 架构新的独立线程调度功能还可以实现并行线程之间的细粒度同步和协作。最后,一个新组合的 L1 高速数据缓存和共享内存子系统也显著提高了性能,同时大大简化了开发者的编程步骤。
流言二, 硬件结构固定不具备可编程性。深度学习算法还未完全稳定,若深度学习算法发生大的变化,GPU 无法像FPGA 一样可以灵活的配置硬件结构。
Tesla V100 的架构设计初衷即为了实现更高的可编程度,让用户能够在更复杂多样的应用程序中高效工作。Volta 是首款支持独立线程调度的 GPU,可在程序中的并行线程之间实现更精细的同步与写作。提高线程写作的灵活性,最终实现更高效、更精细的并行算法。
第三, 运行深度学习算法能效远低于FPGA。学术界和产业界研究已经证明,运行深度学习算法中实现同样的性能,GPU 所需功耗远大于FPGA,例如国内初创企业深鉴科技基于FPGA 平台的人工智能芯片在同样开发周期内相对GPU 能效有一个数量级的提升。
全新的最大节能模式可允许数据中心在现有功耗预算内,每个机架最高提升 40% 的计算能力。在此模式下,Tesla V100 以最大处理效率运行时,可提供高达 80% 的性能,而只需一半的功耗。
当然,Tesla V100 并不是终点,但可以看到的是,不论英伟达还是GPU,都在随着人工智能的发展逐渐走向成熟。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 技巧 | OpenCV中如何绘制与填充多边形
- Swift guard
- PyTorch实现TPU版本CNN模型
- 使用NLP检测和对抗AI假新闻
- kallisto --genomebam报错解决(GTF文件的坑)
- linux查找文件
- TCP 协议面试灵魂 12 问,问到你怀疑人生!
- 方差分析简介(结合COVID-19案例)
- mysql计算两个时间字段的时间差
- 学生党学编程,有这个开源项目就够了!
- 【最强ResNet改进系列】Res2Net:一种新的多尺度网络结构,性能提升显著
- Java中的锁以及sychronized实现机制(十)
- Web 指纹识别之路
- RedisTemplate常用集合使用说明-opsForHash(四)
- Mybatis高级查询(二):多表联合查询