您好!
我从 Caffe-Jacinto-models GitHub 托盘下载了.Caffemodel 和 deploy.prototxt、并在一个 EVE 上运行、下面是我获得的性能日志:
第 1层:TSC 周期= 2.02,SCTM 周期= 1.39 ARP32开销= 45.52,MAC/周期= 0.78 #MMACS = 1.57, 0.00, 1.57,稀疏度: 0.00,100.00
第 2层:TSC 周期= 23.32,SCTM 周期= 22.24 ARP32开销= 4.85,MAC/周期= 11.96 #MMACS = 314.57, 261.23, 278.92,稀疏度: 11.33, 16.96
第 3层:TSC 周期= 22.32,SCTM 周期= 21.34 ARP32开销= 4.60,MAC/周期= 11.98 #MMACS = 301.99, 257.43, 267.39,稀疏度: 11.46, 14.76
第 4层:TSC 周期= 44.57,SCTM 周期= 43.13 ARP32开销= 3.34,MAC/周期= 13.39 #MMACS = 603.98, 575.50, 596.90,稀疏度: 1.17, 4.71
第 5层:TSC 周期= 23.33,SCTM 周期= 22.54 ARP32开销= 3.47,MAC/周期= 12.96 #MMACS = 301.99, 292.55, 302.38,稀疏度: -0.13, 3.13
第 6层:TSC 周期= 42.80、SCTM 周期= 42.35 ARP32开销= 1.08、MAC/周期= 13.87 #MMACS = 603.98、 576.31、 593.63、稀疏度: 1.71、 4.58
第 7层:TSC 周期= 22.73,SCTM 周期= 21.59 ARP32开销= 5.30,MAC/周期= 13.14 #MMACS = 301.99, 288.38, 298.75,稀疏度: 1.07, 4.51
第 8层:TSC 周期= 2.72、SCTM 周期= 0.22 ARP32开销= 1117.79、MAC/周期= 0.10 #MMACS = 0.26、 0.00、 0.26、稀疏度: 0.00、100.00
第 9层:TSC 周期= 42.09,SCTM 周期= 41.44 ARP32开销= 1.58,MAC/周期= 13.88 #MMACS = 603.98, 567.18, 584.47,稀疏度: 3.23, 6.09
第 10层:TSC 周期= 21.89,SCTM 周期= 21.14 ARP32开销= 3.54,MAC/周期= 13.54 #MMACS = 301.99, 287.60, 296.31,稀疏度: 1.88, 4.76
第 11层:TSC 周期= 3.64,SCTM 周期= 0.21 ARP32开销= 1647.75,MAC/周期= 0.14 #MMACS = 0.52, 0.00, 0.52,稀疏度: 0.00,100.00
第 12层:TSC 周期= 187.58,SCTM 周期= 185.97 ARP32开销= 0.87,MAC/周期= 12.62 #MMACS = 2415.92, 2317.24, 2368.05,稀疏度: 1.98, 4.08
第 13层:TSC 周期= 84.96,SCTM 周期= 83.79 ARP32开销= 1.40,MAC/周期= 13.91 #MMACS = 1207.96, 1143.95, 1181.61,稀疏度: 2.18, 5.30
第 14层:TSC 周期= 23.87,SCTM 周期= 23.28 ARP32开销= 2.55,MAC/周期= 12.42 #MMACS = 301.99, 289.98, 296.44,稀疏度: 1.84, 3.98
第 15层:TSC 周期= 1.76,SCTM 周期= 0.59 ARP32开销= 195.59,MAC/周期= 1.19 #MMACS = 2.10、 0.00、 2.10,稀疏度: 0.00、100.00
第 16层:TSC 周期= 22.40,SCTM 周期= 21.92 ARP32开销= 2.17,MAC/周期= 13.73 #MMACS = 301.99, 296.64, 307.49,稀疏度: -1.82, 1.77
第 17层:TSC 周期= 0.84,SCTM 周期= 0.31 ARP32开销= 170.51,MAC/周期= 1.25 #MMACS = 1.05、 0.00、 1.05,稀疏度: 0.00、100.00
第 18层:TSC 周期= 22.06,SCTM 周期= 21.72 ARP32开销= 1.58,MAC/周期= 13.81 #MMACS = 301.99, 294.72, 304.61,稀疏度: -0.87, 2.41
第 19层:TSC 周期= 21.98,SCTM 周期= 21.62 ARP32开销= 1.67,MAC/周期= 13.79 #MMACS = 301.99, 293.82, 303.04,稀疏度: -0.35, 2.70
第 20层:TSC 周期= 22.30,SCTM 周期= 21.93 ARP32开销= 1.65,MAC/周期= 13.79 #MMACS = 301.99, 297.15, 307.56,稀疏度: -1.84, 1.60
第 21层:TSC 周期= 21.97,SCTM 周期= 21.61 ARP32开销= 1.68,MAC/周期= 13.79 #MMACS = 301.99, 293.24, 302.97,稀疏度: -0.33, 2.90
第 22层:TSC 周期= 2.95,SCTM 周期= 2.71 ARP32开销= 8.67,MAC/周期= 12.90 #MMACS = 37.75, 36.82, 38.01,稀疏度: -0.69, 2.45
第 23层:TSC 周期= 0.57,SCTM 周期= 0.30 ARP32开销= 92.95,MAC/周期= 1.83 #MMACs = 1.05, 0.00, 1.05,稀疏度: 0.00,100.00
第 24层:TSC 周期= 1.68、SCTM 周期= 1.19 ARP32开销= 41.16、MAC/周期= 2.50 #MMACS = 4.19、 0.00、 4.19、稀疏度: 0.00、100.00
第 25层:TSC 周期= 6.03,SCTM 周期= 4.76 ARP32开销= 26.71,MAC/周期= 2.78 #MMACS = 16.78, 0.00, 16.78,稀疏度: 0.00,100.00
第 26层:TSC 周期= 1.91,SCTM 周期= 0.82 ARP32开销= 133.47,MAC/周期= 2.19 #MMACS = 4.19, 0.00, 4.19,稀疏度: 0.00,100.00
TEST_REPORT_PROCESS_PROFILE_DATA:TSC 周期= 682373066,SCTM VCOP 繁忙周期= 650111108,SCTM VCOP 开销= 0
性能看起来相当合理。 但是、当我减小网络的输入尺寸(例如256x96或256x128)时、我注意到以下情况:
ARP32开销会变大、这意味着 TSC 周期和 SCTM 周期之间的差异会变大。 我从 这里读出 、我们可以用 SCTM 周期除以 EVE 频率来估算运行时间。 我的问题是、当 TSC 周期远高于 SCTM 周期时(例如、当输入为256x128时、我得到118M 与56M)、它是否会影响连续一批帧的处理速度? 我是否仍然可以用 SCTM 周期来估算处理时间或 fps?
2、虽然#MMACS 根据输入尺寸线性减少、但 TSC 周期和 SCTM 周期的减少要少得多。 这也意味着 MAC/周期下降。 我知道 EVE 处理数据的方式是将数据分为块以实现最佳并行性。 是否有经验法则来确定可提供最佳性能的输入尺寸? 与此串联、输入尺寸是否必须是8的倍数或2的幂等才能实现更好的性能?
除上述问题外、我还(在 EVE 上)运行了一个不同的深度学习网络、其中包含不分层可分离(第3层可分层、第4层不可分离)、并看到实际操作是 totalOps 的10倍:
第 3层:TSC 周期= 1.51,SCTM 周期= 0.80 ARP32开销= 88.04,MAC/周期= 21.03 #MMACS = 3.32, 25.54, 31.75,稀疏度:-856.94,-669.79
第 4层:TSC 周期= 2.24,SCTM 周期= 1.62 ARP32开销= 38.35,MAC/周期= 5.92 #MMACS = 11.80, 11.61, 13.27,稀疏度:-12.50, 1.56
即使如此、这也不会使其更耗时、因为该层的 MAC/周期比不可分离的层更大。 您能帮助我了解这些数字是如何产生的?
提前感谢您。
William