FPGA:灵活可编程
时间:2022-03-23 02:57:01 | 来源:行业动态
时间:2022-03-23 02:57:01 来源:行业动态
FPGA做为异构计算大厨房的重要帮手,和GPU、ASIC又有什么区别呢?
FPGA(Field Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。关键字是可编程,这意味着灵活性。这样,FPGA可以利用预建的逻辑块(LUT,Look-Up-Table)和可重新编程来布线资源,当客户需要土豆丝的时候可以定制成是切丝机,在需要土豆块的时候可以变成切块机。而且,正是因为FPGA里拥有这些大量的可编程逻辑,可以使其做到真正的并行执行,不同的处理操作无需竞争相同的资源,每个独立的处理任务都配有专用的电路部分,能在不受其它逻辑块的影响下自主运作。因此,添加更多处理任务时,其它应用性能也不会受到影响。
当然FPGA也有缺点,主要问题在开发。异构算法的开发人员大部分是软件人员,缺乏对FPGA结构和数字电路的了解,编程语言也不统一(CPU端是C、C 等;FPGA端是VHDL、Verilog等底层硬件描述语言)。目前解决这个问题的方法是OpenCL和HLS(High Level Synthesis)技术,支持直接把C、C 代码编译成Verilog,目前转化效果仍然有待提高,这些技术的成熟还需要一些时间。
综上所述,一个具有高效的AI计算能力(厨房)的系统是大家必需要的,这个厨房里需要有经验丰富的大厨(CPU)和身怀绝技的各种帮厨(加速器),在大厨的指挥统筹下,加上帮手们各展所长,并进行有效的协同合作,从而满足客户对美味佳肴不断快速变化的需求。