0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

编译器对芯片行业到底有什么意义

Wildesbeast 来源:今日头条 作者:芯动力 2020-02-20 14:22 次阅读

2019年科技行业有一个热点“华为开源方舟编译器”,编译器这个名词开始不断的进入国人的视野。作为民族自主品牌的骄傲,华为为什么投入巨大的人力开发方舟编译器并将它开源,编译器在华为乃至整个业界中到底处于什么样的地位呢?

撇开编译器,我们先谈谈芯片。提到芯片,一直是国人痛心的地方,国内的媒体一直提到芯无力。2018年中国进口总额为14.09万亿元,在这14.09万亿元的进口商品中,进口芯片的金额近2.06万亿元(具体为20584.1亿人民币),约为全国进口商品总额的14.62%;进口石油的总金额是15881.7亿人民币(约为1.59万亿元),约为全国进口商品总额的11.28%,进口芯片的金额是石油的1.3倍。在最近十年的进口数额统计中,芯片进口的价值均超过了石油,缺芯已经紧紧的扼住了中国发展的咽喉。

为什么需要编译器

以当前最主流的芯片来看,桌面端CPUIntelAMD占据,移动端被ARM、Apple统治,即使我们有新的性能相当的CPU出现了,真的就能立即替代这些霸主吗?

以日常使用的手机为例。从用户的角度来说,用户并不关注手机里面使用的是什么CPU。评价手机好用与否的第一标准是手机打开APP是否足够快、网络是否足够顺畅等,当然如果这个手机里面搭载的是中国芯就更让我们骄傲了。甚至对于部分用户,如果手机内搭载的是国产CPU,即使性能稍微差一点,优先也会选择国产CPU的手机。但是很少用户会选择一款手机:使用国产CPU、无法运行当前主流的APP(想象一下无法使用微信、支付宝、抖音的生活吧)。

当然也许有人会说可以让阿里、腾讯等这样的公司针对国产CPU进行专门的开发。但是针对特定的硬件架构进行代码开发维护、性能调试等会有巨大的开销,大公司也许可以做到,但是还有更多的小公司呢,日常生活中总会有一些APP属于比较小众的那一款,在国产CPU平台上如果无法支持,或许就会成为你放弃这个平台的理由。公众对国产CPU平台的热情被千千万万个小的APP消耗殆尽后,平台将会不可避免的走向灭亡。

这就是现在经常说的芯片的生态系统的可怕之处。硬件不再是以单打独斗的形式出现,而是会与软件进行捆绑,最终形成自己的生态系统,外来者很难闯入,这其中最出名的大概就是微软和Intel组成的Wintel联盟了。

什么是编译器

解开生态系统难题的其中一个重要的环节就是编译器了。众所周知,所有应用软件都是使用相应编程语言(C/C++/Java等等)进行开发的,工程师使用编程语言中固定的词汇和格式编写,之后使用编译器识别代码中的词汇、句子以及各种特定格式,将它们转换成计算机能够识别并执行的二进制形式。

编译也可以理解为“翻译”,类似于将中文翻译成英文,它是一个复杂的过程,首先编译器进行语法分析,也就是要把那些字符串分离出来。然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚。然后是性能优化、生成可执行文件。期间涉及到复杂的算法和硬件架构。之所以复杂, 是由于它们具有处理多种问题以及相关数据集的能力。

通过编译器,开发人员可以很方便的实现业务平台的迁移,不需要修改业务代码,仅需要修改编译平台的配置,做到业务逻辑的一致。同时编译器内部根据业务执行的平台,对业务代码进行特定的优化,保证代码在硬件平台上性能达到最优。同时编译器不断升级维护也不会对上层运行的业务代码产生冲击,这样所有的APP厂商针对新平台的工作量会降到比较低的程度,大家的接受意愿才会更强烈,编译器最终的目标是帮助开发人员实现一次代码编写,跨平台运行。

国内现状

当前,随着国内手机厂商对系统优化的不断深入,头部厂商纷纷开始针对编译器进行优化。华为最早开源了方舟编译器,vivo有ART++,OPPO也推出了端云智能编译等。

随着国内芯片产业重视程度越来越高,越来越多的厂商开始真正重视芯片的研发并且意识到芯片生态系统的重要性,编译器作为其中的重要一环,为未来自主操作系统的推出起到重要的基础作用,也越来越被重视。而且国内计算行业的领头羊华为在516事件后,将打造鲲鹏、昇腾系列芯片的生态作为重中之重,在可以预期的未来,国内的计算行业将会迎来一场变革,也许在这一波变革中我们会真正建立起自己的生态,在我们这一代人手中彻底打破芯无力的现状。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    457

    文章

    51345

    浏览量

    428237
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10922

    浏览量

    213277
  • 编译器
    +关注

    关注

    1

    文章

    1642

    浏览量

    49336
收藏 人收藏

    评论

    相关推荐

    TLC2578芯片中FS与SDI到底有什么作用?

    ,还有就是一点不太懂的就是:TLC2578芯片中FS与SDI到底有什么作用。手册看了半天还是不懂!求解!谢谢!
    发表于 01-22 06:51

    什么样的代码会被编译器优化

    现在的编译器多智能,可能你辛辛苦苦写的代码,在编译器看来就是几句废话,直接被删除掉。
    的头像 发表于 01-16 16:38 209次阅读

    Triton编译器与GPU编程的结合应用

    Triton编译器简介 Triton编译器是一种针对并行计算优化的编译器,它能够自动将高级语言代码转换为针对特定硬件优化的低级代码。Triton编译器的核心优势在于其能够识别并行模式,
    的头像 发表于 12-25 09:13 360次阅读

    Triton编译器如何提升编程效率

    在现代软件开发中,编译器扮演着至关重要的角色。它们不仅将高级语言代码转换为机器可执行的代码,还通过各种优化技术提升程序的性能。Triton 编译器作为一种先进的编译器,通过多种方式提升编程效率,使得
    的头像 发表于 12-25 09:12 369次阅读

    Triton编译器的优化技巧

    在现代计算环境中,编译器的性能对于软件的运行效率至关重要。Triton 编译器作为一个先进的编译器框架,提供了一系列的优化技术,以确保生成的代码既高效又适应不同的硬件架构。 1. 指令选择
    的头像 发表于 12-25 09:09 367次阅读

    Triton编译器的优势与劣势分析

    Triton编译器作为一种新兴的深度学习编译器,具有一系列显著的优势,同时也存在一些潜在的劣势。以下是对Triton编译器优势与劣势的分析: 优势 高效性能优化 : Triton编译器
    的头像 发表于 12-25 09:07 460次阅读

    Triton编译器在机器学习中的应用

    1. Triton编译器概述 Triton编译器是NVIDIA Triton推理服务平台的一部分,它负责将深度学习模型转换为优化的格式,以便在NVIDIA GPU上高效运行。Triton编译器支持
    的头像 发表于 12-24 18:13 548次阅读

    Triton编译器支持的编程语言

    Triton编译器支持的编程语言主要包括以下几种: 一、主要编程语言 Python :Triton编译器通过Python接口提供了对Triton语言和编译器的访问,使得用户可以在Python环境中
    的头像 发表于 12-24 17:33 490次阅读

    Triton编译器与其他编译器的比较

    Triton编译器与其他编译器的比较主要体现在以下几个方面: 一、定位与目标 Triton编译器 : 定位:专注于深度学习中最核心、最耗时的张量运算的优化。 目标:提供一个高度抽象、灵活、高效
    的头像 发表于 12-24 17:25 520次阅读

    Triton编译器功能介绍 Triton编译器使用教程

    Triton 是一个开源的编译器前端,它支持多种编程语言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一个可扩展和可定制的编译器框架,允许开发者添加新的编程语言特性和优化技术
    的头像 发表于 12-24 17:23 724次阅读

    RTOS与Linux到底有什么区别

    很多做嵌入式开发的小伙伴都存在这样的疑惑:RTOS与Linux到底有什么区别?
    的头像 发表于 10-29 09:53 619次阅读

    AI编译器技术剖析

    随着人工智能技术的飞速发展,AI编译器作为一种新兴的编译技术逐渐进入人们的视野。AI编译器不仅具备传统编译器的功能,如将高级语言编写的源代码转换为机器可执行的代码,还融入了人工智能技术
    的头像 发表于 07-17 18:28 1825次阅读

    人工智能编译器与传统编译器的区别

    人工智能编译器(AI编译器)与传统编译器在多个方面存在显著的差异。这些差异主要体现在设计目标、功能特性、优化策略、适用范围以及技术复杂性等方面。以下是对两者区别的详细探讨,旨在全面解析其内在差异。
    的头像 发表于 07-17 18:19 2189次阅读

    Meta发布基于Code Llama的LLM编译器

    近日,科技巨头Meta在其X平台上正式宣布推出了一款革命性的LLM编译器,这一模型家族基于Meta Code Llama构建,并融合了先进的代码优化和编译器功能。LLM编译器的推出,标志着Meta在人工智能领域的又一重大突破,将
    的头像 发表于 06-29 17:54 1584次阅读

    QT开发学习笔记1(安装交叉编译器

    QT安装交叉编译器
    的头像 发表于 02-18 10:02 1161次阅读
    QT开发学习笔记1(安装交叉<b class='flag-5'>编译器</b>)