当前位置: 首页 > 编程日记 > 正文

从芯片到AI智能芯片,一文了解它的前世今生

640?wx_fmt=jpeg


作者 | 元宵大师,Python高级工程师,致力于推动人工智能、大数据分析在金融量化交易领域中的应用。欢迎大家关注我的个人公众号《元宵大师带你用Python量化交易》。

责编 | 胡巍巍

来源 | CSDN(ID:CSDNnews)


经过长期的发展和探索,在近几年人工智能不断取得突破性的进展,无论是人脸识别、语音识别、机器翻译、视频监控,还是交通规划、无人驾驶、智能陪伴、舆情监控、智慧农业等,人工智能似乎涵盖了人类生产生活的方方面面。未来是人工智能的时代,作为实现人工智能技术的重要基石,AI智能芯片拥有巨大的产业价值和战略地位。


AI智能芯片其实是属于高端芯片的一类,近两年在中美贸易争端的背景下,我国的芯片产业被频频“点穴”,这也让我们开始重视芯片的发展。别看一块小小的芯片,内部集成数以亿计的电路, 广泛用于电脑、手机、家电、汽车、高铁、电网、医疗仪器、机器人、工业控制等各种电子产品和系统,它是各国竞相角逐的“国之重器”,也是一个国家高端制造能力的综合体现。如果没有芯片,中国的许多高端行业的发展均会受到限制,这也是美国要“围堵”我们的重要原因。


纵观芯片的历史,虽然我国长期处于追赶态势,但与发达国家差距仍然非常大。芯片到底是什么?又是如何一步一步发展到AI智能芯片的程度的?本文以芯片到AI智能芯片的发展历史为轨迹,来了解下AI智能芯片的“前世今生”。


概述芯片的起源史


我们看到的小小芯片,却演绎着这个世界尖端的科技,它遍布了消费电子、汽车电子、工业自动化、金融系统、国防军工等各个领域,为各行各业实现信息化、 智能化奠定了基础,芯片的发展正在改变着这个世界。


关于芯片的发展可以追溯到晶体管的诞生。在1947年,科学家威廉·肖克利、约翰·巴顿和沃特·布拉顿三人在美国贝尔实验室发明了全球第一个晶体管,他们也因此共同荣获了1956年诺贝尔物理学奖。在这之前人类已经发明了电子管,在1942使用了17468只电子管、7200只电阻、10000只电容、50万条线,耗电量150千瓦制造了第一台计算机,这是一个占地150平方米、重达30吨的庞然大物。如果可以把这些分立器件和线路集中制作在一块介质基片上,可以大大缩小体积,提高可靠性,这就是初期集成电路的构想。晶体管的出现使这种想法成为了可能,它替代了真空管的功能,很快为电子计算机所用,它把电子管做的计算机缩小为几个机柜。


1958年,在德州仪器(Texas Instruments,TI)就职的杰克·基尔比以锗(Ge)衬底,将几个晶体管、电阻、电容连接在一起,成功研制出世界上第一块集成电路。虽然看起来并不美观,但事实证明,其工作效能要比使用离散的部件要高得多。时隔42年之后杰克·基尔比也因此荣获诺贝尔物理学奖。在杰克·基尔发明基于锗的集成电路后的几个月,罗伯特·诺伊斯相继发明了基于硅(Si)的集成电路,当今半导体大多数应用的就是基于硅的集成电路。


集成电路的产生使得所有元件在结构上已组成一个整体,使电子元件向着微小型化、低功耗、智能化和高可靠性方面迈进了一大步。芯片即是将集成电路制作在一小块半导体晶片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构。


如今随着工艺的不断发展,芯片的集成度越来越高,按照戈登·摩尔1965年提出的摩尔定律的发展趋势——一个芯片上的晶体管数量大约每18-24个月翻一倍,制程从0.5微米、0.35微米、0.25微米、0.18微米、0.15微米、0.13微米、90纳米、65纳米、45纳米、32纳米、28纳米、22纳米、14纳米,一直发展到现在的10纳米、7纳米、5纳米……近几年,业界开始面临着摩尔定律失效的问题,因为随着硅片上线路密度的增加,其复杂性和差错率也将呈指数增长,科学家们正在思考从其他途径来维持摩尔定律的发展趋势。


处理器芯片的发展史


形形色色芯片种类繁多,但不外乎模拟芯片和数字芯片。模拟芯片用于测量模拟世界的一切感知,比如图像、声音、触感、温度、湿度等都可以归到其中。数字芯片则包含处理器(CPU、GPU、MCU、DSP等)、存储器(DRAM、NAND Flash、NOR Flash)和逻辑IC(手机基带、以太网芯片)等等。


在电子信息技术快速发展的今天,我们的身边离不开PC、手机、平板、数码相机、汽车电子、家用电器,这些电子产品之所以能够与人交互,是因为它们的内部都使用到了一种芯片——处理器。在不同的应用场景下诞生了各种类型的处理器,它们有不同的运算速度、不一样的成本、不一样的架构、不一样的功能。让我们打开时间长廊了解当前最热门的几类处理器的发展历史。


CPU(Central Processing Unit)是大家最不陌生的,我们现在所认识的CPU是一块超大规模的集成电路,在对计算性能要求较高的PC和服务器中广泛应用。但是CPU的发展并不是一触而就的,简单来说可以映射为Intel公司的发展历史。


1968年7月,罗伯特·诺伊斯和戈登·摩尔从Fairchild Semiconductor(仙童半导体/飞兆半导体)公司辞职,在硅谷创办了Intel(英特尔)公司,Intel为源自Integrated Electronics(集成电子)的缩写,分别选取了Integrated的“Int”以及Electronics中的“el”。当时戈登·摩尔是Fairchild的研发负责人,也正是著名的摩尔定律奠定者,而罗伯特·诺伊斯更是领袖级的人物,被视为“硅谷之父”。从此伟大的Intel开启了PC市场的辉煌,在这50年的处理器发展史上,Intel 起到了至关重要的推动作用。


Intel的第一款处理器是于1971年开发的4位微处理器4004,它片内只集成了2250个晶体管,晶体管之间的距离是10微米,只能执行4位运算,组频只有0.74MHz。当时是一家日本计算器公司找Intel定制设计微处理器系统用于公司的打印式计算器产品上,Intel把4004作为CPU,组合RAM芯片4001、ROM芯片4002以及寄存器芯片4003,推出了MCS-4世界上首个商用微处理器系统。由于Intel交付延期的原因,退还了该公司部分费用,但是达成了可以在计算器之外的市场自由出售4004芯片的协议,这是具有划时代的意义的,自此Intel正式进军处理器市场,从4004开始不断壮大。


1972年推出8008,处理能力是4004的两倍,可处理8位数据、组频2MHz,集成晶体管的数量达到3500个。


1974年推出8080,不但具备更复杂的指令集,还采用了40针封装,两项革新极大的改变了微处理器行业。


1978年推出8086,可处理16位数据、组频5MHz,这就是首颗x86芯片。IBM在自己首台PC中采用了8086的精简版8088,而这台PC被尊为PC之父。


之后相继推出了80286、80386、80486,直到1993年推出Pentium处理器,从此Intel不再以数字命名处理器。Pentium是x86系列一大革新,它采用了0.60微米制造工艺技术,晶体管数大幅提高到320万个,增强了浮点运算功能、并把十年未变的工作电压降至3.3V,性能达到了工作站处理器的水平。


随后十年里,Intel又推出了很多代的Pentium处理器,到现在大家普遍使用的CPU已经发展为core系列i3\i5\i7,Intel在不断地技术创新中推动着处理器的革新升级,从微米到纳米制程、从4位到64位处理、从几千个晶体管到几亿个、从几百K到几G的组频……为世界各地的用户带来更加精彩的体验。


如同每台PC都有一个作为大脑的CPU在指挥一样,在工业控制器、医疗仪器、家用电器、便携式设备中也都有一个“大脑”在担负着控制、运算、信号转换及处理、通信等工作。在PC中仅仅一个CPU是不够的,还需要内存、硬盘等外设的协作,这使得PC的体积很大。其中的原因是一个芯片单位面积的门电路数量是有限的,为了满足高性能只能把芯片内所有的晶体管都设计为CPU。当我们为了追求更小体积而允许牺牲性能时,就可以将CPU、存储器、I/O……集成在一个芯片上,这样减小了系统的尺寸,降低设备的成本,这类处理器就发展成了MCU(Microcontroller Unit)。MCU正适合在消费电子、工业控制、汽车电子、消费电子等领域广泛应用。


MCU经过不断地研究和发展,历经了从4位、8位、16位到现在32位的发展历史。不过早期的MCU发展仍然是以Intel设计的4位、8位、16位微处理器为轨迹,直到ARM处理器的横空出现。


1978年,由奥地利籍物理学博士赫尔曼·豪泽(Hermann Hauser)和他的一个朋友,名叫Chris Curry的工程师,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是在当地市场设计和制造电子设备,他们的第一代产品Acorn System 1居然是做赌博机的微控制器系统。


随着公司经营逐渐步入正轨后,在1979年,CPU公司改名为Acorn Computer Ltd(Acorn计算机公司)。Acorn公司的机遇来自于1981年的一个项目,当时英国政府与英国广播公司BBC展开了一个计划,他们计划在整个英国播放一套提高电脑普及水平的节目,并且政府会出资一半费用为英国的每一间教室购置一台电脑,他们希望Acorn公司能生产一款与之相配套的电脑。


这对Acorn公司是一个难得的机遇,同时也是一个巨大的挑战,因为他们在选择CPU时陷入了困境。当时,CPU的发展潮流正在从8位变成16位,起先Acorn公司打算使用美国国家半导体或者摩托罗拉公司的16位芯片,但是评估后发现芯片执行速度太慢,售价也太贵。于是转而向Intel寻求合作,希望对方提供关于80286处理器的设计资料和一些样品,但是遭到了Intel的拒绝,备受打击的Acorn公司决定自主研发芯片。


当时来自剑桥大学的计算机科学家Sophie Wilson和Steve Furber芯片研发负责人,前者主攻指令集开发,后者负责芯片设计。他们采用了美国加州大学伯克利分校的David Patterson教授在1979年提出了RISC指令集架构,这恰好可以满足他们的需求。


RISC(reduced instruction set computer)简化的指令集是相对于Intel在内的处理器所采用的CISC(complex instruction set computer)复杂指令集的一个概念。随着CISC指令集的发展,有越来越多的指令加入其中,但实际上整个程序的80%只使用了约20%的指令,剩余20%的程序却使用了80%的指令。David Patterson教授主张硬件应该专心加速常用的指令,较为复杂的指令则利用常用的指令去组合。这样一来RISC精简了CISC指令种类和格式,简化寻址方式,达到省电高效的效果。


在1985年Acorn推出了他们自己的第一代32位、6MHz的处理器ARM1(Acorn RISC Machine),对标的是Intel的80286处理器,不过就在同一年,Intel发布了80386使得ARM1完全处于劣势地位。由于ARM采用了RISC精简指令集,所以功耗小、价格便宜,特别合适移动设备,正好可以选择与Intel不同的设计路线——Intel持续迈向x86高效能设计,ARM则专注于低成本、低功耗的研发方向。

之后Acorn陆续推出了ARM2、ARM3等几个系列。由于适合于移动设备,因此在1990年,Acorn与苹果一起成立了一家ARM(Advanced RISC Machines)公司,苹果投了150万英镑,芯片厂商VLSI投了25万英镑,Acorn本身以150万英镑的知识产权和12名工程师入股。此时ARM做出了一个改变产品策略的决定——不再生产芯片,而以授权的方式,将芯片设计方案转让给其他公司,收取一次性技术授权费用和版税提成。正是这种模式,开创了属于ARM的全新时代,形成了一个以ARM为核心的生态圈。


1991年,ARM将产品授权给英国GEC Plessey半导体公司。1993年,ARM将产品授权给Cirrus Logic和德州仪器(Texas Instruments,TI)。此后,包括三星、夏普等公司都参与到了这种授权模式中,与ARM建立了合作关系,到目前为止ARM合作社区包含了1200多位伙伴。


ARM的真正爆发还是得益于移动手机的爆发,特别是Iphone的热销,于是全球移动应用都彻底绑定在ARM指令集上,除了苹果应用外,谷歌推出了Android系统,也是基于ARM指令集,就连intel的联盟微软公司,也宣布Windows8平台将支持ARM架构,这使ARM在移动设备市场的份额超过90%。


当前ARM处理器家族成员以Cortex命名,分别为Cortex-A、Cortex-R、Cortex-M,它们在特性上针对于不同的应用场景。Cortex-A针对智能手机、平板电脑这类消费娱乐产品,Cortex-R面向如汽车制动系统、动力传动这类解决方案,Cortex-M系列面向针对成本和功耗敏感的微控制器领域应用。


可见ARM和是Intel截然相反的战略路线,Intel一直以来坚持全产业链商业模式,而ARM是开放的合作共赢模式,无论如何他们都是当今处理器领域的巨人。


从CPU发展出来处理器除了MCU之外,另外比较热门有DSP(Digital Signal Processing/Processor)数字信号处理和FPGA(Field-Programmable Gate Array)现场可编程门阵列。


DSP主要应用于数字信号处理这门新兴的学科技术。在DSP出现之前数字信号处理是依靠微处理器来完成的,随着越来越庞大信息量,微处理器无法满足快速傅立叶变换、数字滤波、矩阵运算等需要大量乘加法运算参与的高速信号处理,于是迫切的需要一类快速处理数字信号的处理器芯片。


1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑,不过内部并没有现代DSP芯片所必须有的单周期乘法器。在1980年,日本NEC公司推出的mPD7720是第一个具有硬件乘法器的商用DSP芯片,从而被认为是第一块单片DSP。


随着大规模集成电路技术和半导体技术的发展,DSP朝着高速度、低功耗、功能强大等方向快速提高,推动着数字信号处理技术在各个研究领域中广泛的应用。美国德州仪器公司(Texas Instruments,TI)在1982年推出TMS32010及其系列产品,运算速度已经比微处理器快了几十倍,到目前无论是运算速度、存储容量,还是系统集成度都已经有了质的飞跃,不仅在通信、计算机领域大显身手,而且逐渐渗透到人们的日常生活领域。


FPGA主要针对于定制专用集成电路(ASIC)的应用。早期设计师希望ASIC的设计周期尽可能短,最好是在实验室里设计出合适的芯片,并且立即投入实际应用之中,于是出现了现场可编程逻辑器件(FPLD)。FPGA则是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。


1985年,Xilinx公司推出的全球第一款FPGA产品XC2064,采样用2μm工艺,包含64个逻辑模块和85000个晶体管,门数量不超过1000个。到了2007年,FPGA业界双雄Xilinx和Altera公司推出了采用最新65nm工艺的FPGA产品,其门数量已经达到千万级,晶体管个数更是超过10亿个。随后的工艺从150nm 、130nm、90nm、65nm……FPGA也在不断地紧跟并推动着半导体工艺的进步。

FPGA相比于CPU、MCU来说,它利用门电路直接并行运算,速度非常快,同时可以通过编程语言自由定义门电路和存储器之间的布线,定制芯片方案,目前是AI芯片非常合适的方案之一。


AI 智能芯片的崛起史


对于AI芯片可以理解为面向 AI应用的处理器芯片,它属于AI和处理器芯片两大领域的结合。当前随着人工智能的蓬勃发展,AI芯片已经成为了最炙手可热的投资领域,除了Intel、Nvidia、ARM这些老牌的芯片厂商外,Google、Facebook、微软这样的互联网公司也进军AI芯片市场。


AI应用中通常包括基于深度神经网络的各类算法,以及图像识别、视频检索、语音识别、声纹检测、搜索引擎优化、自动驾驶等任务,其中最关键的能力是“训练”和“推理”,而“训练”是从海量的数据中完成特征的学习,这需要极高的计算性能和较高的精度。为了支持AI的计算性能和精度,理想的AI芯片需要具备高度并行的处理能力,支持各种数据类型的浮点计算,以及用于存储海量数据的存储器带宽。


目前适合AI的处理器有GPU(graphics processing unit)、FPGA(field-programmable gate array)、DSP(digital signal processing)和ASIC(application specific integrated circuits)等,业界各大厂商他们结合自身的特点推出了不同的方案,目前主要有两种设计思路:利用已有的GPU、FPGA、DSP、多核处理器等芯片实现;设计专用的ASIC芯片实现。这也成为了争论的焦点——哪个AI芯片方案是最佳的选择?


GPU是图形处理器,它的核数远超过CPU,由多核组成的大规模并行计算架构专用于同时处理多重任务。深度神经网络的训练过程中计算量极大,而且数据和运算是高度并行的,GPU具备进行海量数据并行运算的能力并且为浮点矢量运算配备了大量计算资源,与深度学习的需求不谋而合,因此最先被引入运行深度学习算法,成为高性能计算领域的主力芯片之一。Intel虽然也有GPU,但主要为集成显卡使用。Nvidia一直在独立显卡领域具有绝对优势,因此Nvidia的GPU是目前应用最广的通用AI硬件计算平台,在人工智能领域无疑已占据足够的优势。


Nvidia依靠自己在AI领域建立的优势,开发出CUDA平台,提供了cuDNN、NCCL、cuBLAS等诸多SDK为合作伙伴提供开发工具,逐步让众多合作伙伴熟悉这种生态,进一步巩固它在AI领域的领导地位。Nvidia的芯片应用十分普遍,现在所有的AI软件库都支持使用CUDA加速,包括谷歌的Tensorflow,Facebook的Caffe,亚马逊的MXNet等。当然Nvidia的GPU在复杂程序逻辑控制上仍然存在劣势,需要使用高性能CPU配合来构成完整的AI系统。为了弥补自己在CPU方面的弱势,在2019年宣布其用于超级计算机的加速平台将对ARM架构CPU支持,计划利用其芯片与使用ARM架构的CPU协作打造应用人工智能的超级计算机。


ASIC是一种为专用目的而定制设计的芯片,在大规模量产的情况下相比于FPGA性能更强、体积更小、功耗更低、成本更低、可靠性更髙等优点。近年来越来越多的公司开始采用ASIC芯片进行深度学习算法加速,其中最为突出的是 Google为机器学习定制的专用处理器芯片TPU(Tensor Processor Unit),它支持256×256个矩阵乘法单元、非线性神经元计算单元等模块,专为Google的深度学习框架TensorFlow而设计。


TPU受到业界的关注是从Google的AlphaGo大显神威后开始,最新一代 AlphaGo Zero已经将CPU结合GPU搭建方案升级为了TPU。在2018年Google I/O开发者大会上正式发布了TPU3.0,其性能宣称比去年的TUP2.0提升8倍之多,达到每秒1000万亿次浮点计算,比同时期的GPU或CPU平均提速15~30倍,能效比提升30~80倍。


FPGA其实也是一种定制芯片,在灵活度方面,它介于CPU、GPU等通用处理器和专用集成电路ASIC之间,它不像专用集成电路ASIC那样由芯片厂商固化编程,而是在硬件固定的前提下,允许设计者灵活使用软件进行编程,因此它的开发周期比ASIC短,不过相对于批量出货ASIC,单个FPGA的成本会更高。在性能方面,FPGA与 GPU相比,具备更强的计算能力和更低的功耗。以FPGA方案为代表的厂商主要有Intel和Xilinx。


Intel已经错失了移动设备的崛起,不想再错过对AI芯片领域的布局。为了增强在AI芯片领域的竞争力,2015年12月Intel斥资167亿美元收购了Altera公司,这是Intel有史以来金额最大的一次收购,意味着Intel希望实现CPU和FPGA深层次结合来布局AI芯片市场。2017年Intel又收购Mobileye,希望通过整合AI算法以获得关键的优势。2018年,Intel宣布收购芯片制造商eASIC,提高FPGA速度,降低FPGA成本和能耗需求。Intel通过霸气的购买将自己提升到AI芯片“玩家”的前列。当前Intel有两套FPGA的战略:打造CPU+FPGA混合器件,让FPGA与处理器协同工作;基于Arria FPGA或Stratix FPGA打造可编程加速卡。微软在2018年的Build大会上公布的Project Brainwave深度学习加速平台,就是基于Intel Arria FPGA和Stratix FPGA芯片所打造的。


Xilinx是FPGA芯片技术的开创者,从2011年起,Xilinx提出全编程的理念,作为FPGA行业长期的霸主,Xilinx拥有超过2万家下游客户,其中亚马逊AWS、以及中国的BAT云服务巨头都推出了专门的云端 FPGA 实例来支持 AI 应用。2018年Xilinx重磅推出全新一代AI芯片架构ACAP,重磅推出全新一代AI芯片架构ACAP,以及采用ACAP架构的首款代号为Everest的AI芯片,将正面 “宣战”Intel和Nvidia。同年Xilinx收购国内三大AI芯片独角兽之一的北京深鉴科技有限公司,该公司主攻终端人工智能,所采用基于FPGA来设计深度学习的加速器架构,可以灵活扩展用于服务器端和嵌入式端。


另外DSP芯片主要用于处理视觉系统如图像、视频等方面的任务,在自动驾驶、安防监控、无人机和移动终端等领域最为常见。众核处理器采用将多个处理核心整合在一起的处理器架构,主要面向高性能计算领域,作为CPU的协处理器存在,比如IBM CELL、Kalray MPPA和Intel Xeon Phi都是典型的众核处理器。


总结


AI智能芯片未来的发展势不可挡,从芯片的历史来看,目前AI智能芯片仍然处于初期阶段,未来在架构和设计理念上仍然有巨大的突破空间,这也提供给了我国“弯道超车”的机会,在国家“2025中国智造”的指引下,国内的科技巨头阿里巴巴、腾讯、百度和华为都参与进来,在全力发展自己AI智能芯片以突破“重围”,让我们一起拭目以待。


(*本文为 AI科技大本营转载文章,转载请联系作者)


精彩推荐



“只讲技术,拒绝空谈”2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。目前,大会早鸟票抢购中~扫码购票,领先一步!

640?wx_fmt=png


推荐阅读

  • 阿里达摩院做AI这两年

  • 如何用爬虫技术帮助孩子秒到心仪的幼儿园(基础篇)

  • Python三十年技术演变史

  • 知识体系、算法题、教程、面经,这是一份超赞的AI资源列表

  • GitHub 第一!这位 60 后程序员火了!

  • 特朗普要解禁华为?美七家科技公司联合要求恢复供货

  • Erlang 二十年,如何在编程语言中占据一席之地?

  • 如今区块链在企业级应用中的尴尬, 只因没看懂这4大主链2大场景……

  • 云计算将会让数据中心消失?


640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

相关文章:

Windows7下OpenGL简单使用举例

1、 从http://www.opengl.org/resources/libraries/glut/glut_downloads.php下载glut相关头文件和库glutdlls37beta.zip ,(默认的windows机子上并没有glut头文件及相应的库,它主要用来打开窗口、开发和管理菜单,以及管理事件等),…

Snagit9-12注册码

SnagIt 9 注册码: AM5SC-8LWML-MVMWU-DTLGE-ERMBE SnagIt 10 注册码: 5HCAK-DEGMZ-EYABA-M4LCC-ACBE2 DFKDA-JZ5FC-TGLAA-CM5DM-MFEBD CMCFH-93DCD-SFZYC-K5KCM-C7CA7 SnagIt 11 注册码: 7CTCC-5WQCS-98AY8-V8F2M-76258 NCTCC-5WFCK-98A28-V8…

Strut2访问

访问HelloWorld应用的路径的设置 在struts2中,访问struts2中action的URL路径由两部份组成: 包的命名空间action的名称 例如: 访问本例子HelloWorldAction的URL路径为: /l6n/helloWorldAction (注意:完整路径为:http:/…

单v100 GPU,4小时搜索到一个鲁棒的网络结构

作者 | Slumbers,毕业于中山大学,深度学习工程师,主要方向是目标检测,语义分割,GAN责编 | JaneNAS最近也很火,正好看到了这篇论文,解读一下,这篇论文是基于DAG(directed …

关于pyecharts 地图显示添加数据的问题

echarts : 香港地区显示(人口密集的人口数目) http://echarts.baidu.com/examples/editor.html?cmap-HK series: [ { name: 香港18区人口密度, type: map, mapType: HK …

MMX Intrinsics各函数介绍

SIMD相关头文件包括&#xff1a; //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #include <xmmintrin.h> //SSE(include mmintrin.h) #…

大数据中台向AI中台演进是大势所趋?

来源 | 宜信技术学院&#xff08;ID:CE_TECH&#xff09;导读&#xff1a;自从阿里巴巴提出“中台”的概念之后&#xff0c;这个词汇就成为各领域企业关注的焦点&#xff0c;很多人在考虑建设自己的中台。然而&#xff0c;构建中台是否真有必要&#xff1f;是否所有的企业都要建…

WordPress标签

1、分类目录调用函数&#xff1a; <?php wp_list_cats();?> 2、调用页面函数&#xff1a; <?php wp_nav_menu( array( theme_location > ast-menu-primary, container > false ) ); ?> 3、转载于:https://blog.51cto.com/okowo/…

SSE3和SSSE3 Intrinsics各函数介绍

SIMD相关头文件包括&#xff1a; //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #include <xmmintrin.h> //SSE(include mmintrin.h) #…

kubernetes学习笔记之十三:基于calico的网络策略入门

一、.安装calico [rootk8s-master01 ~]# kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/canal/rbac.yaml clusterrole.rbac.authorization.k8s.io "calico" created clusterrole.rbac.authorization.k8s.i…

设计模式之抽象工厂模式(Abstract Factory)摘录

面向对象系统的分析和设计实际上追求的就是两点&#xff1a;高内聚(Cohesion)和低耦合(Coupling). 23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式包括&#xff1a;1、FactoryMethod(工厂方法模式)&#xff1b;2、Abstract Factor…

grub设置密码的方法

grub设置密码的方法&#xff1a;一、grub设置明文口令的方法&#xff1a;修改/etc/grub.conf配置文件就可以了.[root RedHat ~] # vi /etc/grub.conf #注&#xff1a;此为链接文件&#xff0c;指向 /boot/grub/grub.conf#boot/dev/hdbdefault0timeout5splashimage(hd0,0)/gr…

web服务器(IIS)的操作步骤

转载于:https://blog.51cto.com/14118520/2335646

微软全球AI总监:Azure AI是OpenAI技术商业化变现唯一、排他性合作方

作者 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;7 月 24 日下午&#xff0c;微软在北京举行了媒体交流会。会上&#xff0c;微软全球副总裁&#xff0c;人工智能平台负责人 Eric Boyd 介绍了 Azure AI 近期的最新进展情况&#xff0c;并带…

NYOJ_16_矩形嵌套

有点小坑的严格单调递增序列&#xff0c;主要是排序那里坑了一下。 思路&#xff1a;矩形的嵌套&#xff1f; (a<c&&b<d)||(a<d&&b<c)? 不&#xff0c;只要在建点时保证a<b&#xff0c;条件就会少一个&#xff0c;直接a<c&&b<…

抢程序员饭碗?自动写代码的Deep TabNine真如此神奇?

作者 | James Vincent等编译 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;在过去的一年中&#xff0c;AI 生成书面文字的能力大大提高。通过扫描庞大的文本数据集&#xff0c;机器学习软件可以生成从短篇小说到歌词的各种令人信服的样本。…

JS 总结之事件循环

众所周知&#xff0c;JavaScript 为了避免复杂&#xff0c;被设计成了单线程。 ⛅️ 任务 单线程意味着所有任务都需要按顺序执行&#xff0c;如果某个任务执行非常耗时&#xff0c;线程就会被阻断&#xff0c;后面的任务需要等上一个任务执行完毕才会进行。而大多数非常耗时的…

设计模式之工厂方法模式(Factory Method)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式包括&#xff1a;1、FactoryMethod(工厂方法模式)&#xff1b;2、Abstract Factory(抽象工厂模式)&#xff1b;3、Singleton(单例模式)&#xff1b;4、Builder(建造者模式)&#xff1b…

SpanBERT:提出基于分词的预训练模型,多项任务性能超越现有模型!

作者 | Mandar Joshi, Danqi Chen, Yinhan Liu, Daniel S. Weld, Luke Zettlemoyer, Omer Levy译者 | Rachel责编 | Jane出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;【导读】本文提出了一个新的模型预训练方法 SpanBERT &#xff0c;该方法能够更好地表示和预测…

XP与Windows 7(Win7)等操作系统Ghost备份

XP与Windows 7&#xff08;Win7&#xff09;等操作系统Ghost备份 2013年5月5日 前提&#xff1a;备份还原win7的话&#xff0c;此种Ghost备份方法只针对没有100MB保留分区的win7安装方式。去掉100MB的方法可以参考《Windows7&#xff08;win7&#xff09;系统重装与破解》&…

SSE4.1和SSE4.2 Intrinsics各函数介绍

SIMD相关头文件包括&#xff1a; //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #include <xmmintrin.h> //SSE(include mmintrin.h) #…

Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力

Nacos近期发布了0.7.0版本&#xff0c;该版本支持对接第三方CMDB获取CMDB数据、使用Selector机制来配置服务的路由类型、支持单机模式使用MySQL数据库、上线Node.js客户端&#xff0c;并修复了一些bug。对接CMDB实现就近访问在服务进行多机房或者多地域部署时&#xff0c;跨地域…

数十篇推荐系统论文被批无法复现:源码、数据集均缺失,性能难达预期

作者 | Maurizio Ferrari Dacrema译者 | 凯隐责编 | Jane出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;【导读】来自意大利米兰理工大学的 Maurizio 团队近日发表了一篇极具批判性的文章&#xff0c;剑指推荐系统领域的其他数十篇论文&#xff0c;指出这些论文中基…

crontab 总结

2019独角兽企业重金招聘Python工程师标准>>> 1.写法 每三天执行一次&#xff1a;0 0 */3 * * root command&#xff0c;注意&#xff1a;* * */3 * * root command 这样写是不对的。其它每N小时执行一次也类似 &#xff08;后续补充&#xff09; 转载于:https://…

ubuntu安装thrift

ubuntu环境下安装thrift-0.10.0 1.解压 2.编译安装 ./configure -with-cpp -with-boost -without-python -without-csharp -with-java -without-erlang -without-perl -with-php -without-php_extension -without-ruby -without-haskell -without-go make sudo make install3.是…

AES(Advanced Encryption Standard) Intrinsics各函数介绍

AES为高级加密标准&#xff0c;是较流行的一种密码算法。 SIMD相关头文件包括&#xff1a; //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #…

轻松应对Java试题,这是一份大数据分析工程师面试指南

作者 | HappyMint转载自大数据与人工智能&#xff08;ai-big-data&#xff09;导语&#xff1a;经过这一段时间与读者的互动与沟通&#xff0c;本文作者发现很多小伙伴会咨询面试相关的问题&#xff0c;特别是即将毕业的小伙伴&#xff0c;所以决定输出一系列面试相关的文章。本…

【Elasticsearch 5.6.12 源码】——【3】启动过程分析(下)...

版权声明&#xff1a;本文为博主原创&#xff0c;转载请注明出处&#xff01;简介 本文主要解决以下问题&#xff1a; 1、ES启动过程中的Node对象都初始化了那些服务&#xff1f;构造流程 Step 1、创建一个List暂存初始化失败时需要释放的资源&#xff0c;并使用临时的Logger对…

C++中的封装、继承、多态

封装(encapsulation)&#xff1a;就是将抽象得到的数据和行为(或功能)相结合&#xff0c;形成一个有机的整体&#xff0c;也就是将数据与操作数据的源代码进行有机的结合&#xff0c;形成”类”&#xff0c;其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程&…

比尔盖茨护犊子 称iPad让大批用户沮丧

为什么80%的码农都做不了架构师&#xff1f;>>> 在5月6日接受美国CNBC电视台访问时&#xff0c;微软前任掌门人比尔盖茨维护了自家反响不那么好的Surface系列平板电脑&#xff0c;同时他还不忘吐槽了一把iPad。 当 谈到日渐颓败的PC市场时&#xff0c;盖茨称平板电…