硬件性能评估指标-DMIPS、MFLOPS、MAC、TOPS

  1. DMIPS(Dhrystone Million Instructions Per Second)

    • DMIPS用于衡量计算机系统的整体指令执行性能,通常关注整数操作。它基于Dhrystone基准测试来计算,该测试主要包含整数运算和控制流程操作。
    • DMIPS的计算方式是将Dhrystone测试的执行速度(每秒执行多少次Dhrystone测试)除以一百万,以获得每秒执行的百万指令数(因为DMIPS指的是每秒处理几百万指令-Million Instructions)。
    • DMIPS不考虑浮点数操作,因此它不能准确地反映计算机系统的浮点数性能

    一般芯片都有 DMIPS/MHz 信息,如下图:
    在这里插入图片描述
    比如 ARM Cortex-A72 架构为 4.7DMIPS/MHz,那么DMIPS为:

    • 双核A72架构,主频为2.0GHz的CPU(也有1.5GHz的,由厂家设置,因为功耗之类的原因?),DMIPS:2 * 2GHz * 4.7DMIPS/MHz = 18.8kDMIPS。

    \newline

    比如 ARM Cortex-A55 架构为 2.7DMIPS/MHz,那么DMIPS为:

    • 八核A55架构,主频为1.2GHz的CPU,DMIPS:8 * 1.2GHz * 2.7DMIPS/MHz = 25.92kDMIPS。
  2. FLOPS(Floating-Point Operations Per Second)

    • FLOPS用于衡量计算机系统的浮点数运算性能,主要关注浮点数操作,如加法、乘法和除法。

    • FLOPS主要用于评估计算机在科学计算、图形处理、模拟等需要大量浮点数运算的应用中的性能。

  3. MAC(Multiply-Accumulate) 或 MADDs(Multiply-Add)

    • MAC是一种常用于衡量计算机系统性能的浮点数运算指标,特别在数字信号处理(DSP)(因为信号处理计算一般都是乘加计算)和机器学习领域中经常使用。MAC操作包括乘法和累加运算,通常表示为C = A * B + C,其中A和B是输入数据,C是累加结果。
    • MAC操作通常在矩阵乘法、卷积等计算密集型应用中广泛使用。

    比如 P6 DSP 的 MAC 数为 256MAC/cycle(int8, 64路int8并行),16MAC/cycle(float, 8路float并行),则其在800MHz时,算力为:

    • 800MHz * 256MAC/cycle = 204.8GMAC/sec (int8)
    • 800MHz * 16MAC/cycle = 12.8GMAC/sec (float)
  4. TOPS(Tera Operations Per Second)

    • TOPS 是每秒执行的操作数。

    TOPS和上面的MAC/sec基本是等价的东西,但由于上面的操作C = A * B + C由两个操作,且这里的单位为兆,所以上面公式转换为以TOPS为单位:

    • 204.8GMAC/sec = 204.8 * 2 * e-3 = 0.4096TOPS (int8)
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐