Arm 介绍 LLVM Fortran 编译器 Flang 的最新进展


Arm 工程师 Kiran Chandramohan 在近期举办的 FOSDEM 会议上,介绍了围绕 LLVM Fortran 编译器选项工作的最新进展。

近些年来,许多利益相关者都在积极推动着 Flang 作为 LLVM 编译器堆栈的 Fortran 语言前端,其中 Arm 公司就是主要推动力之一。根据介绍,虽然还没有准备好正式发布,但 Flang 已经取得了一些重大进展。

幻灯片内容指出,Flang 目前的状态包括(* 表示目前还在讨论中):

  • 尚未准备好普遍可用
  • Driver 被暂时称为 "flang-new"*
  • 可以创建可执行文件
  • 使用"flang-experimental-exec"flag*
  • 针对 Fortran 95 标准的功能开发已基本完成
  • Fortran 2003+ 特性的开发正在进行中
  • 测试
  • 使用各种商业和免费的测试套件
  • 通过 SNAP、Cloverleaf、Spec rate 验证
  • 继续进行 Spec speed、OpenRadios 等测试

 

从 SPEC 2017 数据看来,与之前的 Flang 实现以及 GCC 提供的 GFortran 前端相比,Flang 的性能表现也相当不错。

 

更多详情可查看完整幻灯片内容。


相關推薦

2022-11-17

化、易调试的通用集成开发环境,支持C、C++、Java、Go、Fortran、Python、JavaScript等多种标准编程语言,涵盖编码、编译、调试、性能分析、软件交付等一整套开发流程,满足openKylin平台上软件开发需求。本月主要进展如下: 按

2023-04-07

化、易调试的通用集成开发环境,支持C、C++、Java、Go、Fortran、Python、JavaScript等多种标准编程语言,涵盖编码、编译、调试、性能分析、软件交付等一整套开发流程,满足openKylin平台上软件开发需求。3月主要进展如下: kylin-

2022-05-08

态分析器和 JIT 库。 GCC 12.1 的一些亮点包括: 继续为编译器和 C++ 标准库分别支持 C2X 和 C++23 以及 C 和 C++ 的下一版本。C2X 和 C++23 支持仍被视为实验性的。C++20 libstdc++ 支持也得到了改进,但仍处于试验阶段。 GCC 12 支持新 I

2022-09-29

macOS 12.5.1 "Monterey"系统)编译了 ARM64 Linux 内核。 据介绍,Nick Desaulniers 使用了他自己构建的 LLVM/Clang,并通过 Homebrew 获取部分依赖项。基于这些条件,他能够在 macOS 下编译 Linux 内核——当然这并不是说可以在 macOS 上使用

2023-11-24

和工程计算应用进行了优化,具有成熟且经过实战验证的编译器和库,可以编写接近底层的高效二进制代码。 静态和强类型:Fortran是一种静态和强类型的语言,这使得编译器能够在早期捕捉到许多编程错误。这也使得编译器

2023-05-18

和计算机架构上重用相同的代码。最初的BLAS标准包含40个Fortran语言函数,用于执行常见的线性代数运算。 随着时间的推移,标准还进行了更新和扩充,增加了更多的函数和特性。BLAS已经成为一个广泛使用的标准,能够提供高

2022-10-26

随着 11 月 1 日 Zig v0.10.0 版本的发布,其新的自托管编译器(self-hosted compiler)也将同步推出。“尽管自托管编译器现已实现,但仍有更多的工作要做。与此同时,更多令人兴奋的功能的大门已经打开,比如 Zig 的官方包管理器。

2022-10-01

化、易调试的通用集成开发环境,支持C、C++、Java、Go、Fortran、Python、JavaScript等多种标准编程语言,涵盖编码、编译、调试、性能分析、软件交付等一整套开发流程,满足openKylin平台上软件开发需求。本月主要进展如下: 完

2023-02-20

处理器架构的软件进行调试,支持的语言有 Ada、C、C++、Fortran、Go、Rust 等。 新版本的 GDB 和 GDB 服务器添加了两个新的目标架构支持:Linux 下的 LoongArch 和 C-SKY 处理器架构。LoongArch Linux 支持还包括浮点支持。 除了新增 C-SKY 和

2023-09-08

环境准备,并在社区公告。 参加上海开发者meetup活动,介绍openKylin 2.0规划。 欢迎所有对openKylin社区版本集成、版本管理、版本发行等工作感兴趣的爱好者加入到Release SIG!   四、Packaging SIG Packaging SIG负责维护openKylin社

2022-12-10

M 提供初始 target hook,然后开始布局前端代码。此外,GCC 编译器支持的目标 (targets) 数量要远远多于标准的 Rust 编译器。 通过将 GCC 作为后端集成到 rustc 中,可以更好地实现支持这些 target。除了 LLVM 之外,rustc master 还为 Craneli

2022-08-12

Arch 对 LibreOffice 的支持只是针对 Linux 平台进行构建。 据介绍,龙芯自主指令系统 LoongArch 从顶层架构,到指令功能和 ABI 标准等,全部自主设计,不需要国外授权。LoongArch 吸纳了现代指令系统演进的最新成果,因此它的运

2022-11-02

献者提交了 4737 个 commit。当然最大的亮点莫过于自托管编译器的首次亮相。 自托管编译器 此次更新的重大亮点就是自托管编译器的首次亮相。 目前 Zig 已默认启用自托管编译器,同时也为尚未准备好升级的用户保留了 Boo

2023-02-21

TinyGo 0.27.0 已发布。 TinyGo 是一个 Go 编译器,旨在用于微控制器,WebAssembly(WASM)和命令行工具等小型场景。它重用了 Go 语言工具和 LLVM 一起使用的库,以提供编译用 Go 编程语言编写的程序的另一种方法。 下面是一个示例程