除了算法和数据,异构计算将为人工智能应用提供更强大的支持,异构计算,尤其是加速器的开发和创新,将为行业、终端用户和初创企业带来更多无限的商机。
在一个由灶神主持的餐厅吃饭。慢慢发球。一定要等待。因为只有一个灶神。但是在竞争激烈的市场中,人工智能技术的应用不能等待,否则它可能会被市场颠覆和淘汰。
人工智能(AI)的研究已经持续了60多年,最近,人工智能已经呈现出一种爆炸性的趋势,不仅因为算法的改进和大数据的积累,而且由于计算能力的巨大改进和变化,企业和Inte。RNETGrand有自己的算法和数据,但它们在计算能力的获取上总是有一个很高的门槛。今天我们关注的是AI时代的计算能力。
近年来,随着硅片物理极限的逼近和经济成本的增加,摩尔定律已经失效,传统的通用处理器方法已经不能满足人造int各种应用的爆炸性和高计算要求。因此,具有GPU、ASIC、FPGA或其他加速器(Accelerator)等高并行、密集计算能力的异构计算将继续成为热点,异构计算将成为支持更高级、更复杂的人工智能应用的必然选择。未来。
异构计算(HeterogeneousComputing,HeterogeneousComputing)是由具有不同指令集和体系结构的计算单元组成的计算系统,它是一种平衡性能、成本和功耗的技术。它还允许最合适的专用硬件做最合适的事情,如密集计算或外围管理,从而实现性能和成本的优化。
CPU(CentralProcessingUnit)作为一种通用处理器,我们熟悉的CPU(CentralProcessingUnit)更注重对控制流数据的支持,CPU的每个物理核中的大部分硬件资源都做成控制电路和缓存,以提高指令的兼容性和效率。真正用于计算的逻辑运算单元(ALU)只占CPU的一小部分。在没有AI或其他高计算能力要求的情况下,CPU可以应付更多的工作。在人工智能或计算能力要求较高的情况下,从计算任务执行效率的角度来看,虽然CPU可以与大量指令兼容,但实际计算效率不高。异构系统中核心功能的协调与控制。
打个比方,CPU可以看作是厨师,每个烹饪系的大厨都像手掌一样,可以做出各种不同口味的菜肴,以满足各种人的需要。但是因为厨师负责厨房的各个方面,他不能应付lar。葛数特种复合处理,如1000名客人食用各种马铃薯丝,如酸辣马铃薯丝、青椒马铃薯丝、油炸马铃薯丝,需要助手在短时间内切出大量相同长度和厚度的马铃薯丝。需要找到一个帮手(GPU,FPGA或ASIC)来帮助。这个助手可以同时处理许多土豆(并行处理),而且非常快(低延迟)。最后,通过与厨师的合理分工,可以满足顾客对菜肴的需求。
也许有人会说,雇用另一个厨师来组成一个同质的厨房(均质计算)不好当然,这是多CPU以前所做的,但是基于目前基于AI应用的计算密集型负载,这种同构厨房具有明显的缺点。首先,厨师很贵,而且他们不擅长某些特定的应用,比如快速切土豆丝。其次,厨师是健忘的,需要经常查看菜谱(访问记忆)。因此,一个高效的厨房需要厨师和一群擅长各种任务的厨师之间的有效沟通和协作。
我们知道,在异构计算厨房中,除了主厨CPU之外,还有很多辅助设备,如GPU、ASIC、FPGA、DSP等,那么这些计算单元的优势是什么
GPU是图形处理单元的缩写。顾名思义,它是一种专门处理个人计算机、工作站、游戏机以及一些移动设备(如平板电脑、智能手机等)的图像的微处理器。其主要原因是它适合GPU的多核结构,用于大规模多任务的简单操作,如神经网络。这就像成千上万的客人同时点了酸辣的马铃薯丝,他们需要很多帮助才能快速地切出数万盘马铃薯丝。
然而,尽管GPU能快速而好地切土豆,但是如果你想告诉他切多少土豆,切多少土豆,再加入多少青椒,那么你就到冰箱里去买些猪肉,做一道复杂的菜,这超出了你的能力。复杂的控制过程会产生大量的分支,而GPU中的控制单元负责多个计算单元,因此,如果要使用GPU,就必须有简单的指令,尤其是控制分支越少,效果越好。
此外,GPU还有CPU厨师的问题:健忘(需要从内存中读取指令)。这带来了一系列的问题,如存储墙、高功耗、基于指令系统、解码等。
专用集成电路(ASIC)的全称是应用专用集成电路(ApplicationSpecificIntegrationCir.),它是定制的,这意味着不需要纠缠于CPU和GPU如何分配控制资源和计算资源,以及如何分配这些资源。
编程语言越接近底层硬件,其运行速度就越快。所有的ASIC设计都直接建立在物理硬件(门电路)上。同时,由于具有高度定制性,可以设计用于PPA优化的芯片(PPA是性能、功耗和面积的缩写)。
这样,ASIC就像一个全自动定制马铃薯切碎机。你只要把土豆扔进粉碎机,土豆丝就会很快被切掉,形状一致性好,能耗低,节省空间。
可以看出,这种定制的机器是厨房工件,它已经赢得了CPU和GPU。但是定制的机器也有它的缺点。如果顾客想改变口味,吃土豆和烤鸡,他们需要把土豆切成块。这样,切割机就没用了,市场上也没有现成的切割机,需要重新定制。
现场可编程门阵列,或称现场可编程门阵列,是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。关键字是可编程的,这意味着灵活性。E可用于布线资源。当顾客需要土豆丝时,他们可以定制为碎纸机。当他们需要马铃薯片时,他们就会变成碎纸机。而且,正是由于FPGA中大量的可编程逻辑使得它可以真正并行实现。不同的处理操作不需要竞争相同的资源。每个独立的处理任务都配备有专用电路,可以独立操作,不受其他逻辑块的影响,因此,当增加更多的处理任务时,不会影响其他应用程序的性能。
当然,在FPGA的开发中也存在着不足之处,主要问题在于开发上,大多数异构算法的开发人员都是软件人员,对FPGA和数字电路的结构缺乏了解,编程语言也不统一(CPUenD是C、C++;FPGA端是VHDL、Verilog等底层硬件描述语言。目前对该问题的解决方案是OpenCL和HLS(高级综合)技术,支持C和C++代码直接编译成Verilog。目前,这些技术的成熟还需要一段时间,转换效果还有待提高。
总之,一个有效的人工智能计算能力(厨房)系统对每个人都是必要的。这个厨房需要有经验的厨师(CPU)和熟练的厨师(加速器)。在厨师的协调指导下,在各自展会实力的帮助下,进行有效的合作,从而做到饱满。充分满足顾客不断变化的美味菜肴需求。
CPU和加速器之间协作的一个好例子是使用IBMPOWER9处理器的新一代服务器。POWER9是为当前和未来计算密集型AI工作负载而设计的。它是嵌入PCI-Express4.0、新一代NVIDIANVLink2.0(GPU和CPU之间的无缝连接)和OpenCAPI25Gbps(PCIe3.0的3倍吞吐量)中的第一个通道,这是支持异构的最现实的着陆实体。计算。
当然,除了支持异构计算之外,POWER9服务器还优化了AI负载,例如大大提高了诸如Chainer、TensorFlow和Caffe等主要AI框架的性能,以及加速了诸如Kinetica之类的数据库。速度更快,包括深入学习洞察力、实时欺诈检测和信用风险分析。POWER9也是美国能源部首脑会议和塞拉利昂超级计算机的核心,它们已成为世界上最强大、最智能的超级计算机之一。此外,谷歌还采用了基于POWER9处理器的异构计算平台,用于各种复杂的人工智能负载。
除了算法和数据,异构计算将为人工智能应用提供更强大的支持,异构计算,尤其是加速器的开发和创新,将为行业、终端用户和初创企业带来更多无限的商机。