GPU高效通信算法-Ring Allreduce
demi 在 周五, 10/11/2019 - 16:51 提交
今天介绍一种新的GPU多卡计算的通信优化算法——Ring Allreduce。先来讲一下常规的GPU多卡分布式计算的原理。
GPU,全称为图形处理单元(Graphics Processing Unit),是一种专用于处理图形和图像计算的处理器。起初,GPU主要用于图形渲染,但随着计算需求的增加,尤其是在科学计算、深度学习和其他并行计算领域,GPU的通用计算能力逐渐受到重视。
GPU相对于传统的中央处理单元(CPU)在设计上有一些显著的区别。CPU更适用于处理通用的控制流任务,而GPU则专注于高度并行的数据处理。GPU通常拥有大量的小型处理单元,被设计成能够同时处理大量相似的任务,例如图形渲染中的像素计算或深度学习中的矩阵运算。
总体而言,GPU在图形处理领域的成功应用和对并行计算需求的响应使其逐渐演变成为通用计算设备,广泛用于加速各种科学和工程计算应用。
今天介绍一种新的GPU多卡计算的通信优化算法——Ring Allreduce。先来讲一下常规的GPU多卡分布式计算的原理。
GPU的另一个重要参数是浮点计算能力。浮点计数是利用浮动小数点的方式使用不同长度的二进制来表示一个数字,与之对应的是定点数。同样的长度下浮点数能表达的数字范围相比定点数更大,但浮点数并不能精确表达所有实数,而只能采用更加接近的不同精度来表达。
本文对CPU与GPU中的逻辑架构进行了对比。其中Control是控制器、ALU算术逻辑单元、Cache是cpu内部缓存、DRAM就是内存。GPU设计者将更多的晶体管用作执行单元,而不是像CPU那样用作复杂的控制单元和缓存。从实际来看,CPU芯片空间的5%是ALU,而GPU空间的40%是ALU。这也是导致GPU计算能力超强的原因。
GPU呈现模式分析中颜色的意义:本文分别介绍了使用运行 Android 6.0 及更高版本、Android 4.0 和 5.0的设备时分析器输出中某个竖条的每个区段。
正如大多数人所知道的,GPU的处理速度之快得益于它可以高效地处理矩阵乘法和卷积,但是大家并不一定知道真正的理由。GPU如此快速的真正原因是内存带宽和不必要的并行。
CPU是一个有多种功能的优秀领导者。它的优点在于调度、管理、协调能力强,计算能力则位于其次。而GPU相当于一个接受CPU调度的“拥有大量计算能力”的员工。
在GIS中图形处理能力尤为重要,特别是在三维GIS技术中,为了让三维场景能够更逼真、更流畅地显示,往往需要为计算机配置一个独立显卡,利用其GPU技术来满足GIS的图形运算需求。
GPU已经不再局限于3D图形处理了,GPU通用计算技术发展已经引起业界不少的关注,事实也证明在浮点运算、并行计算等部分计算方面,GPU可以提供数十倍乃至于上百倍于CPU的性能。
我们都知道用GPU可以加速神经神经网络训练(相较于CPU),GPU是如何加速的呢?
7月3日下午,由电子创新网主办的“毛衣战下第一期的本土精品IC推介会”在深圳市南山区康佳研发大厦举办,Imagination公司应邀参加了本次活动并发表题为“运用GPU + NNA 实现设备端异构计算”的演讲,如果你错过现场,欢迎观看视频回放。