This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA2SX:有关性能评估的[TIDL/EVE]问题

Guru**** 2609955 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642280/tda2sx-tidl-eve-questions-regarding-performance-evaluation

器件型号:TDA2Sx

您好!

我从 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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    (1和2)是。 TDIL 性能不会随分辨率线性变化。 分辨率越高、利用率就越高。 批处理将在 某种程度上提高完全连接的层性能、但卷积层性能不会改善批处理。 如果处理分辨率是32的倍数、性能将会更好。

    我们正在努力提高低分辨率(1x1和3x3)的密集卷积性能。 这将是01.00版本的一部分

      

    (3)我们优化了分深度可分离卷积00.08版本的性能。 希望您使用的是版本。 关于总操作数打印、打印中似乎存在问题(您可以看到第3层的 TSC 周期小于第4层)。 将检查该迹线打印。

    谢谢、

    Kumar.D

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当您对(1)说"是"时、您是否意味着我们应该使用 TSC 周期来估算实际 fps?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、应将 TSC 周期用于 FPS 计算。

    谢谢、此致、

    库马尔。 D

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Kumar、

      当使用密集卷积以获得更好的性能(小分辨率,1x1,3x3)时,如何使用稀疏度来加速?

      如果不使用 稀疏度、 则总性能会更差。

    谢谢

       

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    用于小分辨率的稀疏卷积开销很高。

    因此、使用密集卷积实现小分辨率(不可能存在稀疏度)。
    当分辨率高于64x64或32x32时、使用稀疏卷积

    谢谢、此致、
    Kumar.D