本节通过介绍算法加速和任务卸载的概念,以及算法加速与任务卸载、异构计算之间的区别,使读者,在理解硬件加速的原理之上,建立对硬件加速实现形态等方面的理解。下一节会举出具体的例子。
1.算法加速概念
算法加速通过将系统里比较消耗CPU资源的算法放在硬件中去处理,压缩算法的执行时间,并且实现CPU和加速器的并行,来实现整体的性能加速。算法加速是硬件加速的初级形态,我们把一个特定的算法实现到硬件,通过软件显式的控制加速器运行。软件控制加速器运行的一般流程如下:
(1)加速器初始化,完成加速器运行所需的相关配置。
(2)软件准备好数据。如果加速器没有内置DMA,则由软件或其他硬件把数据写入加速器FIFO;如果加速器具有内置DMA可以自己主动读取数据,则软件把数据位置信息告诉加速器DMA,由加速器DMA主动搬运数据到加速器内部;为了尽量减少CPU交互的频次,还可以通过队列的方式交互数据。
(3)软件控制加速器开始运行,执行数据处理。
(4)处理完成后,硬件把数据写到输出FIFO、直接输出到其他硬件或者输出到约定好的内存中。
(5)如果需要,硬件发中断给到软件,由软件完成后续的处理。
2.任务卸载概念
任务卸载(Workload Offload),通常指的是计算能力有限的设备将自身的一部分工作转移到其他地方进行计算。例如手机、物联网设备等移动终端节点,受限于自身计算性能的限制,于是将一部分消耗大量计算资源的工作转移到边缘端或者云端处理。
在云计算数据中心里,也存在类似的问题。云计算通过虚拟化技术把用于业务的VM和管理Hyperviso

本文介绍了算法加速和任务卸载的概念,以及它们之间的区别。算法加速通过硬件实现特定算法的加速,而任务卸载则是将工作负载转移到其他硬件设备,以提高整体性能。两者在实现形式上有所不同,任务卸载涉及到更复杂的系统接口和交互。同时,文章还探讨了算法加速与异构计算的异同,强调了异构计算的通用性和平台化目标。
最低0.47元/天 解锁文章
5751

被折叠的 条评论
为什么被折叠?



