对于高性能加速器而言,循环是其中不可或缺的一方面。通常,需要对循环进行流水打拍或者展开,方可充分利用 FPGA 架构的高度分布化和并行化特性,从而在性能提升方面比在 CPU 上运行时更胜一筹。
默认情况下,循环既不执行流水打拍,也不展开。在硬件中,执行每次循环迭代都需要至少 1 个时钟周期。从硬件角度来看,循环主体隐含“等待一个时钟周期”的意义。仅当前一次循环迭代完成之后,才能开始后一次迭代。
对于高性能加速器而言,循环是其中不可或缺的一方面。通常,需要对循环进行流水打拍或者展开,方可充分利用 FPGA 架构的高度分布化和并行化特性,从而在性能提升方面比在 CPU 上运行时更胜一筹。
默认情况下,循环既不执行流水打拍,也不展开。在硬件中,执行每次循环迭代都需要至少 1 个时钟周期。从硬件角度来看,循环主体隐含“等待一个时钟周期”的意义。仅当前一次循环迭代完成之后,才能开始后一次迭代。