Tesla V100:AI 计算和 HPC 的源动力
NVIDIA Tesla V100 是目前世界上最高性能的并行处理器,专门用于处理需要强大计算能力支持的密集型 HPC、AI、和图形处理任务。
Tesla V100的产品简介
Tesla V100 加速器的核心是 GV100 GPU 处理器。
基于台积电专门为 NVIDIA 设计的最新 12nm FFN 高精度制程封装技术,GV100 在 815 平方毫米的芯片尺寸中,内部集成了高达 211 亿个晶体管结构。
相较于上一代产品,也就是 Pascal 系列 GPU,GV100 不但在计算性能上有了长足的进步,同时还增加了许多令人眼前一亮的新特性。包括进一步精简的 GPU 编程和应用部署流程,以及针对 GPU 资源利用情况的深度优化。
其结果是,GV100 在提供强大计算性能的同时还非常省电,
下图显示了 Tesla V100 加速器和上代产品 Tesla P100 加速器在 ResNet-50 模型训练和推理中的性能对比,
可以看到最新的 V100 要远超上一代 P100。
GV100 GPU 硬件架构
搭载 Volta GV100 GPU 的 NVIDIA Tesla V100 加速器是当今世界上性能最强的并行计算处理器。
其中,GV100 GPU 具有一系列的硬件创新,为深度学习算法和框架、HPC 系统和应用程序,均提供了强大的算力支持。
其中在 HPC 领域的性能表现如下图所示,在各种 HPC 任务中,Tesla V100 平均比 Tesla P100 快 1.5 倍(基于 Tesla V100 原型卡)。
Ø Tesla V100 的关键特性总结如下:
● 针对深度学习优化的流式多处理器(SM)架构。作为 GPU 处理器的核心组件,在 Volta 架构中 NVIDIA 重新设计了 SM,相比之前的 Pascal 架构而言,这一代 SM 提高了约 50% 的能效,在同样的功率范围内可以大幅提升 FP32(单精度浮点)和 FP64(双精度浮点)的运算性能。
专为深度学习设计的全新 Tensor Core 在模型训练场景中,最高可以达到 12 倍速的 TFLOP(每秒万亿次浮点运算)。
另外,由于全新的 SM 架构对整型和浮点型数据采取了相互独立且并行的数据通路,因此在一般计算和寻址计算等混合场景下也能输出不错的效率。
Volta 架构新的独立线程调度功能还可以实现并行线程之间的细粒度同步和协作。
最后,一个新组合的 L1 高速数据缓存和共享内存子系统也显著提高了性能,同时大大简化了开发者的编程步骤。
● 第二代 NVLink。
第二代 NVIDIA NVLink 高速互连技术为多 GPU 和多 GPU/CPU系统配置提供了更高的带宽,更多的连接和更强的可扩展性。
GV100 GPU 最多支持 6 个 NVLink 链路,每个 25 GB/s,总共 300 GB/s。
NVLink 还支持基于 IBM Power 9 CPU 服务器的 CPU 控制和高速缓存一致性功能。
另外,新发布的 NVIDIA DGX-1V 超级 AI 计算机也使用了 NVLink 技术为超快速的深度学习模型训练提供了更强的扩展性。
● HBM2 内存:更快,更高效。
Volta 高度优化的 16GB HBM2 内存子系统可提供高达 900 GB/s 的峰值内存带宽。
相比上一代 Pascal GP100,来自三星的新一代 HBM2 内存与 Volta 的新一代内存控制器相结合,带宽提升 1.5 倍,并且在性能表现上也超过了 95% 的工作负载。
● Volta 多处理器服务(Multi-Process Service,MPS)。
Volta MPS 是 Volta GV100 架构的一项新特性,可以提供 CUDA MPS 服务器关键组件的硬件加速功能,从而在共享 GPU 的多计算任务场景中显著提升计算性能、隔离性和服务质量(QoS)。
Volta MPS 还将 MPS 支持的客户端最大数量从 Pascal 时代的 16 个增加到 48 个。
● 增强的统一内存和地址转换服务。
Volta GV100 中的 GV100 统一内存技术实现了一个新的访问计数器,该计数器可以根据每个处理器的访问频率精确调整内存页的寻址,从而大大提升了处理器之间共享内存的使用效率。
另外,在 IBM Power 平台上,新的地址转换服务(Address Translation Services,ATS)还允许 GPU 直接访问 CPU 的存储页表。
● Cooperative Groups(协作组)和新的 Cooperative Launch API(协作启动 API)。
Cooperative Groups 是在 CUDA 9 中引入的一种新的编程模型,用于组织通信线程组。
Cooperative Groups 允许开发人员表达线程之间的沟通粒度,帮助他们更丰富、更有效地进行并行分解(decompositions)。
Kepler 系列以来,所有的 NVIDIA GPU 都支持基本 Cooperative Groups 特性。
Pascal 和 Volta 系列还支持新的 Cooperative Launch API,通过该 API 可以实现 CUDA 线程块之间的同步。
另外 Volta 还增加了对新的同步模式的支持。
● 最大性能和最高效率两种模式。
顾名思义,在最高性能模式下,
Tesla V100 极速器将无限制地运行,达到 300W 的 TDP(热设计功率)级别,以满足那些需要最快计算速度和最高数据吞吐量的应用需求。
而最高效率模式则允许数据中心管理员调整Tesla V100 的功耗水平,以每瓦特最佳的能耗表现输出算力。
而且,Tesla V100 还支持在所有 GPU 中设置上限功率,在大大降低功耗的同时,最大限度地满足机架的性能要求。
● 针对 Volta 优化的软件。
各种新版本的深度学习框架(包括 Caffe2,MXNet,CNTK,TensorFlow 等)都可以利用 Volta 大大缩短模型训练时间,
同时提升多节点训练的性能。
各种 Volta 优化版本的 GPU 加速库(包括 cuDNN,cuBLAS 和 TensorRT 等)
也都可以在 Volta GV100 各项新特性的支持下,
为深度学习和 HPC 应用提供更好的性能支持。
此外,NVIDIA CUDA Toolkit 9.0 版也加入了新的 API 和对 Volta 新特性的支持,以帮助开发者更方便地针对这些新特性编程。
Ø Tesla V100