||
本文介紹廣州星嵌DSP C6657+Xilinx Zynq7035多核平臺(tái)下Xilinx Zynq7035算力指標(biāo)。
基本概念FLOPs/FLOPSFLOPs,Floating Point Operations,浮點(diǎn)運(yùn)算次數(shù),每一個(gè)加、減、乘、除操作都算1FLOPs操作,常用來(lái)衡量模型計(jì)算復(fù)雜度。
注意下FLOPS,注意全大寫(xiě),是floating point operations per second的縮寫(xiě),意指每秒浮點(diǎn)運(yùn)算次數(shù),理解為計(jì)算速度。是一個(gè)衡量硬件性能的指標(biāo),兩者別弄混。
MACsMultiply–Accumulate Operations,乘加累積操作數(shù),常常被人們與FLOPs概念混淆。實(shí)際上1MACs包含一個(gè)乘法操作與一個(gè)加法操作,大約包含2FLOPs。通常MACs與FLOPs存在一個(gè)2倍的關(guān)系。
關(guān)系為什么使用乘加運(yùn)算指標(biāo)(MACs)呢?因?yàn)樯窠?jīng)網(wǎng)絡(luò)運(yùn)算中內(nèi)積、乘加運(yùn)算無(wú)處不在:
對(duì)于一個(gè)3*3濾波器在特征圖上的一次運(yùn)算可以表示為:
y = w 0 ∗ x 0 + w 1 ∗ x 1 + w 2 ∗ x 2 + w 3 ∗ x 3 + w 4 ∗ x 4 + w 5 ∗ x 5 + w 6 ∗ x 6 + w 7 ∗ x 7 + w 8 ∗ x 8
對(duì)于上式,記 w 0 ∗ x 0 +… 為一次乘加,即1MACs。所以對(duì)于上式而言共有9次乘加,即9MACs(實(shí)際上,9次相乘、9-1次相加,但為了方便統(tǒng)計(jì),將計(jì)算量近似記為9MACs,就像算法復(fù)雜度通常把 O(N+b)表示成O(N)一樣,都只是一種近似)。
對(duì)于上式而言,可以認(rèn)為執(zhí)行了9次乘法、9-1次加法,所以一共是9+(9-1)次FLOPs。所以近似來(lái)看1FLOPs ≈ 2MACs。
ZYNQ PL端算力指標(biāo)
參考Xilinx官方文檔Zynq-7000 SoC Data Sheet: Overview (DS190),可找到Zynq 7035 PL端的MACs指標(biāo)值為1334 GMACs,約為2668 GFLOPs,如下圖所示:
參考Xilinx官方資料Zynq-7000 SoC Data Sheet: Overview (DS190),可獲得Zynq 7035 PS端CPU的性能參數(shù),如下圖紅框標(biāo)出的地方所示:
Zynq 7035 PS端雙ARM總運(yùn)算能力:2.5DMIPS/MHz Per CPU x 1000 MHz x 2 CPU = 5000 DMIPS。