当前位置: 首页 > 科技观察

进入计算多元化时代为什么异构计算有如此大的发展空间?

时间:2023-03-21 17:57:16 科技观察

互联网行业,随着信息化的普及,数据量的激增让人们对存储空间有了新的要求。同时,机器学习、人工智能、无人驾驶、工业仿真等领域的兴起,使得通用CPU在处理海量计算和海量数据/图片时,遇到越来越多的性能瓶颈,如并行度低、性能不足等。带宽和高延迟。为了满足计算多样化的需求,越来越多的场景开始引入GPU、FPGA等硬件进行加速,异构计算应运而生。异构计算(HeterogeneousComputing)主要是指由不同类型指令集和架构的计算单元组成的系统的计算方法。80年代,异构计算技术诞生。所谓异构性是指CPU、DSP、GPU、ASIC、协处理器、FPGA等各种计算单元,使用不同类型的指令集和不同架构的计算单元,组成一个混合系统,进行特殊的计算。这种方法称为“异构计算”。特别是在人工智能领域,异构计算大有可为。众所周知,人工智能意味着对计算能力的极高要求。目前,以GPU为代表的异构计算已经成为加速AI创新的新一代计算架构。为什么我们需要异构计算?说到计算,我们通常会想到CPU,但CPU是通用计算,服从摩尔定律。随着计算多样化的发展,特别是应用类型的多样化,CPU在处理某些类型的计算时“力不从心”。案件。特定单元的引入使得计算系统成为一种混合结构,每一种不同类型的计算单元都可以执行它最擅长的任务。CPU虽然不擅长计算,但擅长管理和调度,比如读取数据、管理文件、人机交互等,并且有很多例程和辅助工具;GPU管理弱,计算强,但由于是多进程并发,更适合对整块数据进行流处理的算法;FPGA可以管理和执行计算,但开发周期长,复杂算法开发难度大。它适用于流处理算法,无论是一整块数据还是一个接一个。就实时性而言,FPGA是最好的。当人工智能等海量算力需求到来时,GPU、FPGA与CPU协同计算将“水到渠成”。异构计算的两大派系——GPU和FPGA最熟悉的异构计算平台就是“CPU+GPU”和“CPU+FPGA”两种架构。这些典型的异构计算架构的最大优势在于比传统的CPU并行计算具有更高的效率和更低的时延计算性能。计算产业的生态都在这里运作。众所周知,与CPU相比,GPU和FPGA有着太多的优势。GPU并行度更高,单机计算峰值更高,计算效率更高;而FPGA的优势主要体现在其更高的每瓦性能、更高的不规则数据计算性能、更高的硬件加速性能以及更低的设备互连延迟。目前应用最广泛的异构计算是利用GPU加速。所有主流的GPU都使用统一的架构单元。凭借强大的可编程流处理器阵容,GPU在单精度浮点运算方面远远落后于CPU。以英伟达、AMD为代表的GPU厂商大肆宣传GPU大大加速了通用计算。各个GPU厂商都推出了适合通用计算的GPU,GPGPU(GeneralPerposeGPU)。一时间,整个行业都在谈论GPU计算。除了GPU,FPGA也是近年来半导体行业的热点。FPGA作为一种高性能、低功耗的可编程芯片,可以进行针对性的算法设计定制。因此,在处理海量数据时,FPGA相对于CPU和GPU的优势在于FPGA计算效率更高,FPGA更接近IO。FPGA不使用指令和软件,是一种软件和硬件集成的设备。FPGA的编程使用硬件描述语言,硬件描述语言描述的逻辑可以直接编译成晶体管电路的组合。因此,FPGA实际上是直接用晶体管电路来实现用户的算法,而不需要指令系统的翻译。当然,除了GPU和FPGA之外,ASIC也是目前计算芯片的一种选择。ASIC是一种专用芯片,不同于传统的通用芯片。它是针对特定要求定制的芯片。ASIC芯片的计算能力和计算效率可以根据算法的需要进行定制。因此,与通用芯片相比,ASIC具有体积小、功耗低、计算性能高、计算效率高、芯片输出等优点。体积越大,成本越低。但缺点也很明显:算法是固定的,一旦算法发生变化,就可能无法使用。目前,人工智能正处于大爆发期,大量算法不断涌出,距离算法的稳定期还很远。如何让ASIC芯片适配各种算法是一个绝对的难题。不同的处理器芯片在构建异构计算方面具有各自鲜明的特点。CPU和GPU领域有大量的开源软件和应用软件。任何新技术都会首先使用CPU来实现算法。因此,CPU编程资源丰富且容易获得,开发成本低,开发周期短。FPGA的实现是通过Verilog/VHDL等底层硬件描述语言来实现的,这需要开发者对FPGA的芯片特性有更深入的了解,但其高并行性往往能将业务性能提升几个数量级;同时,FPGA是动态可重构的,在数据??中心部署后,可以根据业务形态配置不同的逻辑,实现不同的硬件加速功能。ASIC芯片可以实现优异的性能,即面积利用率高、速度快、功耗低;但是AISC的开发风险极高,需要足够大的市场来保证成本价格,而且从研发到上市的时间周期非常短。长,不适合深度学习CNN等快速迭代的算法领域。结语当前计算多样化的趋势势不可挡,单一的CPU已经不能满足对计算能力的需求。在这种情况下,以GPU、FPGA为代表的异构计算大行其道。尤其是在人工智能、大数据、物联网等新技术的推动下,应用类型呈现多样化,对计算的需求也呈现差异化。无论是“CPU+GPU”还是“CPU+FPGA”,都是为了更好地服务个性化计算需求。可以预见,随着计算产业的演进,异构计算有着广阔的发展空间,我们也将看到越来越多的异构计算架构在承载应用方面发挥着越来越重要的作用。