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