Page 39 - 《软件学报》2025年第9期
P. 39

3950                                                       软件学报  2025  年第  36  卷第  9  期


                 个功能单元设计了硬件        3  配置, 如表  7  所示. 我们在该硬件配置下实施理论模型和混合调度, 以便验证本文理论模
                 型的可扩展性.

                                               表 7 3  种功能单元配置下的硬件

                              功能单元               硬件1                硬件2              硬件3
                               FU0            ALU、LOAD              ALU              ALU
                               FU1         ALU、STORE、JUMP        ALU、LOAD            ALU
                               FU2                -              ALU、SOTRE           ALU
                               FU3                -                 JUMP          ALU、LOAD
                               FU4                -                  -            ALU、STORE
                               FU5                -                  -               JUMP

                    表  8  给出了  CoreMark  在表  7  的  3  种硬件下对应的准确率、精确率、 召回率和        F1  值. 可以看出, 当硬件变化
                 时, 本文的  IPC  理论模型仍然能得到较高的准确率. 这验证了我们的               IPC  理论模型和混合调度的可扩展性.

                                        表 8 3  种硬件配置下的      IPC  理论模型评价指标     (%)

                                 指标               硬件1              硬件2               硬件3
                                准确率               89.91             98.46            95.51
                                精确率               100.00           100.00            100.00
                                召回率               89.66             96.63            95.46
                                 F1值              94.73             98.34            97.68

                 6.7   AlexNet 的实验结果
                    本文选用    DSP  领域中  AlexNet 这一经典神经网络对本文提出的          IPC  理论模型的准确率进行评测. 图        14  给出
                 了表调度、规划调度和理论模型在            AlexNet 上的表现. AlexNet 在本文编译工具链下共有         5 726  个调度区域. 其中,
                 有  95.93%  的调度区域理论模型给出的       IPC  等于规划调度的     IPC, 有  3.62%  的调度区域理论模型与规划调度仅有
                 1  个  cycle 的差距. 为了说明混合调度算法中理论模型降低了多少复杂度, 即有多少调度区域仅需表调度即可达到
                 最优解, 图  14  中也给出了理论模型和表调度的          IPC  的差值分布. 可以看出, AlexNet 中有     94.72%  的调度区域理论
                 模型与表调度的      IPC  相同, 因此仅有  2.58%  的调度区域需再次进行规划调度.

                               6 000
                                     5 4935 424
                                                                  理论模型与规划调度结果的 cycle 差值
                               5 000                              理论模型与表调度结果的 cycle 差值
                              调度区域个数  4 000
                               3 000
                               2 000
                               1 000
                                                207 256
                                  0                      17 28     9  13     0  4     0  1
                                        0         1        2         3        4         7
                                       图 14 AlexNet 中不同   cycle 数差值调度区域个数统计

                 6.8   个例分析
                    本文的理论模型得到的是          IPC  上界  (cycle 下界), 而非上  (下) 确界. 图  15  举例说明了理论模型无法得到      IPC
                 上确界   (cycle 下确界) 的场景和原因. 图    15(a)、(b) 分别为不同调度区域的依赖图, 能够在同一个              cycle 执行的指
                 令用虚线圆圈一起. 可以看出, 图         15(a) 最优  cycle 为  4, 但理论模型给出的  cycle 为  3. 图  15(b) cycle 为  3, 理论模
                 型给出的   cycle 为  3. 易知: 图  15(a) 论模型给出的  cycle 不是下确界, 原因为指令     1  和指令  3  均为  LOAD  指令, 而
                 由于硬件资源限制       (只有  1  个  LOAD  执行单元), 指令  1  和指令  3  不能在同一个  cycle 执行, 必须分在  2  个  cycle 先
                 后执行. 而在数据流分析中, 指令         4  作为交汇点, 无法精确感知两条前驱路径精确的资源冲突. 即在本文的                    IPC  理
   34   35   36   37   38   39   40   41   42   43   44