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

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

3天内不再提示

Arm编译器现在基于LLVM 13

安芯教育科技 来源:极术社区 作者:Ashok Bhat 2022-06-15 09:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Arm编译器Linux 22.0版现在提供了改进的编译器和库。Arm编译器Linux版(ACfL)是Arm C/C++编译器(armclang)、Arm Fortran编译器(armflang)和Arm性能库(ArmPL)的组合。在本博客中,我们将探讨此版本的新增功能。

Arm编译器现在基于LLVM 13

Arm编译器现在基于LLVM 13,这提高了性能。

db2122e6-ec47-11ec-ba43-dac502259ad0.png

我们看到SPEC CPU 2017的许多次级基准得到了改进,geomean总分比之前的21.1版本提高了2.2%。该基准测试在AWS c6g.metal(带Arm Neoverse-N1核心)上运行。

针对Neoverse-V1进行了更好的调整

(AWS Graviton 3核心)

22.0版本的Arm编译器为Neoverse-V1提供了一个优化的成本模型,并提供了许多与SVE代码生成相关的改进。这包括(1)优化使用SVE的Gather/Scatter功能(2)将循环(loop)填充对齐,以更好地利用指令缓存(3)在将向量的一个元素插入另一个元素时,优化使用SVE拼接操作。

db2ae59c-ec47-11ec-ba43-dac502259ad0.png

这些优化的累积效应可以在前面的图中看到。我们在这里将Neoverse-V1优化的SVE代码和为Neoverse-V1优化的Neon代码做一个对比。我们的基准是在开发SVE架构扩展时使用的一组具有代表性的微基准(micro-benchmarks)。您可以看到,22.0(橙色条)中的编译器优于21.1版(蓝色条)。通过这些改进,22.0版本已准备好在AWS Graviton 3上开发HPC应用程序。

GCC 11更新

该软件包现在提供GCC 11系列编译器,并有许多性能改进https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/performance-improvements-in-gcc-11

具有CPU运行时检测的单个ArmPL

Arm性能库不再为SVE和非SVE内核打包为单独的库。我们现在提供一个库,其中包含所有受支持内核(包括SVE)的优化版本。在运行时,库通过检测核的类型,来选择最佳的例程和配置。作为用户,您可以自动受益于库中最快的调整,而无需重新链接到特定于核的库。

更快的BLAS、LAPACK和FFT

ArmPL 22.0进一步改进了BLAS和LAPACK例程。

db4d41dc-ec47-11ec-ba43-dac502259ad0.png

db655f9c-ec47-11ec-ba43-dac502259ad0.png

上图显示了22.0版本比21.0版本的改进(2021年初发布)。这些数据来自5000多个个案的基准测试,涵盖:广泛BLAS例程的基准测试,一系列重要的LAPACK例程,用于串行(1线程)和并行(8线程)执行中的小O(10)、中O(100)和大O(1000)不同的问题场景。

数学函数的改进

在22.0中,我们改进了许多数学函数的性能。其中包括标量函数(atan、atan2、atan2f、cos、exp、sin和erf)和向量函数(atanf、atan2f、cosf、erfcf、expo、logf、pow、sinf和tanf)的改进。在下图中,您可以看到Elefunt benchmark在AWS Graviton 2(Neoverse N1)系统上运行时的影响。

db7cbd2c-ec47-11ec-ba43-dac502259ad0.png

模块名称变更

该包提供模块文件,以便轻松加载所需的编译器或库。对于22.0版本,请使用以下模块命令。

db958514-ec47-11ec-ba43-dac502259ad0.png

结论

Arm编译器Linux 22.0版与前21.x系列版相比有许多改进和变化。我们将继续进行进一步的改进,并计划在2022年9月/10月发布下一版本22.1。

最新版本下载地址:

https://developer.arm.com/downloads/-/arm-compiler-for-linux

审核编辑 :李倩

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

    关注

    88

    文章

    11825

    浏览量

    219618
  • 编译器
    +关注

    关注

    1

    文章

    1673

    浏览量

    51976

原文标题:技术分享 | Arm编译器Linux版:22.0版本中的新增功能有哪些?

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ARM 编译器 6.21 一起使用时,LPC43XX I2C_CON_SI不会激活,如何解决?

    我遇到了有关 LPC43XX I2C 传输的问题。在 ARM 编译器 5.06 中,单字节写入和所有其他 I2C 事务在 MCU 到 MCU 之间都能正常工作。但是,在选择ARM编译器
    发表于 04-28 07:03

    性能突破 | SpacemiT-X60 在 LLVM 编译器上实现 16% 显著提升

    2025年10月,在北美RISC-V峰会上,Igalia编译器工程师Mikhail发表专题演讲《Unlocking15%MorePerformance
    的头像 发表于 11-21 18:04 9148次阅读
    性能突破 | SpacemiT-X60 在 <b class='flag-5'>LLVM</b> <b class='flag-5'>编译器</b>上实现 16% 显著提升

    开源鸿蒙技术大会2025丨编译器与编程语言分论坛:语言驱动系统创新,编译赋能生态繁荣

    在万物智联的时代背景下,操作系统底层能力的构建离不开编程语言与编译器的关键支撑。作为开源鸿蒙生态的核心技术,语言设计与编译器、虚拟机实现的进步直接关系到开发效率、运行性能与系统安全。本次分论坛聚焦
    的头像 发表于 11-20 17:24 1196次阅读
    开源鸿蒙技术大会2025丨<b class='flag-5'>编译器</b>与编程语言分论坛:语言驱动系统创新,<b class='flag-5'>编译</b>赋能生态繁荣

    【CPKCOR-RA8D1】AI人脸检测(安装对应版本的FSP及LLVM

    本文主要聚焦于Flexible Software Package (FSP) v5.3.0 与LLVM Embedded Toolchain for Arm v17.0.1 安装上面 由于现在直接
    发表于 10-31 11:22

    GCC编译器,怎么才能实现c文件中未被调用的函数,不会被编译呢?

    GCC编译器,怎么才能实现c文件中未被调用的函数,不会被编译?有什么编译选项可以设置吗? 移植代码,有些函数没被调用的函数想留在代码里,但不想被编译
    发表于 09-28 12:25

    请问如何在keil μVision 5上进行ARM编译器的代码优化?

    如何在keil μVision 5上进行ARM编译器的代码优化?
    发表于 08-20 07:37

    如何在Keil中将NuMicro BSP从Arm编译器5迁移到编译器6?

    在Keil中将NuMicro BSP从Arm编译器5迁移到编译器6!
    发表于 08-20 06:29

    求助,关于NanoEdge AI Studio生成的库交叉编译器版本疑问求解

    20231009\", 那么问题来了,怎么在NanoEdge AI Studio设定交叉编译器呢,比如设置为armcc、armclang、iccram,因为我需要将库加到keil或者iar工程里面。 看样子这个软件生成的库是arm-gcc
    发表于 08-08 07:25

    进迭时空同构融合RISC-V AI CPU的Triton算子编译器实践

    Triton是由OpenAI开发的一个开源编程语言和编译器,旨在简化高性能GPU内核的编写。它提供了类似Python的语法,并通过高级抽象降低了GPU编程的复杂性,同时保持了高性能。目前
    的头像 发表于 07-15 09:04 2263次阅读
    进迭时空同构融合RISC-V AI CPU的Triton算子<b class='flag-5'>编译器</b>实践

    边缘设备AI部署:编译器如何实现轻量化与高性能?

    电子发烧友网综合报道 AI编译器是专门为人工智能(AI)和机器学习(ML)模型设计的编译器,其核心目标是将高级的AI模型描述(如计算图、神经网络结构)转换为特定硬件平台(如CPU、GPU、FPGA
    的头像 发表于 07-06 05:49 6982次阅读

    编译器功能安全验证的关键要素

    在汽车、工业、医疗等安全关键型应用中,确保功能安全合规性需要严格的工具链验证。开发安全关键型软件的企业必须遵守ISO 26262、IEC 61508、ISO 62304等国际标准对编译器工具链进行全面的验证。
    的头像 发表于 07-05 13:37 1721次阅读

    兆松科技发布高性能RISC-V编译器ZCC 4.0.0版本

    近日,兆松科技(武汉)有限公司(以下简称“兆松科技”)宣布正式发布高性能 RISC-V 编译器 ZCC 4.0.0 版本。新版本在性能优化、厂商自定义指令支持和软件库等方面实现全面升级,并同步推出
    的头像 发表于 06-27 14:48 3909次阅读
    兆松科技发布高性能RISC-V<b class='flag-5'>编译器</b>ZCC 4.0.0版本

    兆松科技ZCC编译器全面支持芯来科技NA系列处理

    近日,兆松科技(武汉)有限公司(以下简称“兆松科技”)宣布正式发布高性能RISC-V编译器ZCC 4.0.0版本。
    的头像 发表于 06-11 09:56 2035次阅读

    RISC-V架构下的编译器自动向量化

    进迭时空专注于研发基于RISC-V的高性能新AICPU,对于充分发挥CPU核的性能而言,编译器是不可或缺的一环,而在AI时代,毫无疑问向量算力将发挥越来越重要的作用。进迭时空非常重视RISC-V
    的头像 发表于 06-06 16:59 1461次阅读
    RISC-V架构下的<b class='flag-5'>编译器</b>自动向量化

    RVCT编译器是否比GNU的编译器的代码执行速度更快?

    使用FX3S遇到了RVCT编译器的问题。 1、在SDK的release note中有支持RVCT的描述, 但是在EZ USB Suite的设置中没有找到RVCT的选项, 请问支持的具体版本
    发表于 05-08 07:49