FLOPS与GOPS:各平台及神经网络算力算量调研 |
您所在的位置:网站首页 › 显卡算力怎么算的 › FLOPS与GOPS:各平台及神经网络算力算量调研 |
目录 一、GOPS与FLOPS 1.1 FLOPS FLOPS定义 FLOPS换算 前标的十进制与二进制 显卡FLOPS值 1.2 GOPS 1.3 FLOP与GOPS之间的换算 二、常规神经网络算力 2.1 AlexNet 2.2 ResNet-152 2.3 EIE算力 2.4 一些层的算力 三、FPGA平台上算力评估 3.1 zynqNet算力评估 3.2 MTCNN算量 一、GOPS与FLOPS 1.1 FLOPS FLOPS定义是“每秒所执行的浮点运算次数”(floating-point operations per second)的缩写。它常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能省略掉。 在这里所谓的“浮点运算”,实际上包括了所有涉及小数的运算。这类运算在某类应用软件中常常出现,而它们也比整数运算更花时间。现今大部分的处理器中,都有一个专门用来处理浮点运算的“浮点运算器”(FPU)。也因此FLOPS所量测的,实际上就是FPU的执行速度。而最常用来测量FLOPS的基准程式(benchmark)之一,就是Linpack。 FLOPS换算一个MFLOPS(megaFLOPS)等于每秒一百万(=10^6)次的浮点运算, 一个GFLOPS(gigaFLOPS)等于每秒十亿(=10^9)次的浮点运算, 一个TFLOPS(teraFLOPS)等于每秒一万亿(=10^12)次的浮点运算,(1太拉) 一个PFLOPS(petaFLOPS)等于每秒一千万亿(=10^15)次的浮点运算, 前标的十进制与二进制此处存在疑问,从M到G再到T,到底是1024近似为1000,还是采用二进制的乘以1024,还是确实为十进制的1000 倾向于FLOP的前标与内存一样,是以二进制算,每进一级是1024为单位的。 但是1024^3是1073741824,可以近似为10^9。所以采用10^3来近似1024问题不大。 显卡FLOPS值显卡根据价格算力从0.7TFLOPS/s到10TFLOPS/s不等。 1.2 GOPSOPS与FLOPS类似,只不过OPS一个是操作次数,FLOPS一个是浮点操作次数。 1.3 FLOP与GOPS之间的换算(FLOP与GOPS之间的换算需要查相关资料,后续查找资料给出) 不确定的看法是OPS是操作数量,FLOPS为浮点操作数量,两者可近似于相等,FLOPS比OPS稍大。 二、常规神经网络算力据韩松毕业论文EFFICIENT METHODS AND HARDWARE FOR DEEP LEARNING P15 2.1 AlexNet对于AlexNet处理224*224的图像,需要1.4GOPS 2.2 ResNet-152对于224*224的图像,ResNet-152需要22.6GOPS 例如对于 1080p图像(像素点个数1920*1280) 的8路 帧率为30FPS的图像。 22.6GOPS*30FPS*8路*(1920*1280/224^2)=265Teraop/sec 这个数量级为30张高端显卡。 2.3 EIE算力EIE在稀疏网络上可达102GOPS/s,相当于同等级非稀疏网络的1TGOPS/s 2.4 一些层的算力注意这里是剪枝后的FLOP,之前的FLOP可能要乘以12 这里不懂为什么韩松不把原来的FLOP值贴出来而是只贴剪枝后的FLOP Table 3.6: Pruning GoogleNet reduces the number of weights by 3.5x and computation by 5x. 三、FPGA平台上算力评估 3.1 zynqNet算力评估拆分为卷积的MACC操作的次数152,731,648 ,为10^8数量级(0.1G),7z035平台上时间约为2s 假定MACC操作9乘法8加法,算作17FLOP,zynqNet总算量2,596,438,016 FLOP,即2.59GFLOPS 算力1.3GFLOPS/s(韩松EIE为102GOPS/s) 3.2 MTCNN算量MACC次数为85,176,568次到43,543,288次不等,10^7数量级(10M),每帧运算量0.74GOPS或1.448GOPS 按照zynqNet的算力约 0.9-1.75FPS 相关内容: 深鉴科技DNNDK概览 Xilinx zynq系列FPGA实现神经网络中相关资源评估 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |