MulticoreWare

实例探究

为半导体供应商提供更先进的编译器支持

November 15, 2024

客户

客户是一家半导体技术公司。

机会

这家半导体供应商计划采用 LLVM-Flang 作为其 Fortran 和 OpenMP 应用程序的前端。LLVM-Flang 是 Fortran 的一个相对较新的前端,仍在积极开发中,因此缺乏对其用例所需的某些关键 Fortran 和 OpenMP 功能的全面支持。在意识到其中一些基本功能不完整或缺失后,客户向我们的团队提出请求,要求在 Fortran 和 OpenMP 中实现和扩展必要的功能,以确保与其应用程序兼容。

解决方案

LLVM-Flang 是 Fortran 的新前端,使用 MLIR 技术构建。Fortran 代码被转换为 FIR/HLFIR(Fortran 中间表示),而 OpenMP 构造则转换为相应的 OpenMP MLIR 方言。

我们提供了全面的端到端测试,并根据 Fortran 2018 和 OpenMP 5.2 标准实现了缺失的功能。我们致力于 LLVM-Flang 编译器前端的所有关键阶段,包括:

  • 解析: 我们的团队确保编译器正确解释 Fortran 和 OpenMP 语法
  • 语义分析: 我们的团队实施了检查以验证代码是否符合 Fortran 2018 和 OpenMP 5.2 标准
  • 降低到 MLIR 语言: 我们将 Fortran 代码转换为 FIR/HLFIR,将 OpenMP 构造转换为 OpenMP MLIR 方言,确保与 MLIR 技术兼容。
  • 降低到 LLVM IR: 我们还完成了代码到 LLVM IR 的转换,为优化和代码生成做好准备。

我们与开源社区密切协调,共同努力确保我们的功能实现和修复成功合并到官方 LLVM-Flang 项目中。

技术概述

解决方案亮点

扩展功能支持

实现与 Fortran 2018 和 OpenMP 5.2 标准的兼容性。

增强编译器功能

改进解析、语义分析和代码转换过程。

社区贡献

将代码更改合并到 LLVM-Flang 项目中,使开源社区受益。

无缝客户集成

促进客户采用 LLVM-Flang,减少开发工作量并提高性能。

业务影响

LLVM-Flang 的持续采用有望在完成后带来重大收益。通过现代化到开源编译器并遵守当前标准,它为长期兼容性和高级功能集成铺平了道路。一旦项目结束,这些改进将为客户提供竞争优势和更高效的开发流程。

结论

总之,MulticoreWare 在 LLVM 框架、LLVM-Flang、MLIR、Fortran、OpenMP 等方面表现出色。了解我们如何帮助您实现创新成果。联系我们的团队:info@multicorewareinc.com

Share Via

Explore More

Aug 6 2025

提升x265中HEVC压缩的色度编码质量

客户与MulticoreWare合作,旨在提升x265 HEVC编码器在色度通道压缩方面的性能。该项目重点是改善彩色胶片颗粒表现并减少伪影,如色度块化和对角线失真,最终为专业媒体工作流程提供更准确、高效的编码方案。

Read more
Jun 10 2025

在新一代人工智能加速器上启用 PyTorch 2.0 模型

客户 本案例研究面向使用基于 ARM 的硬件平台并寻求 (a) 增加对较新人工智能模型的支持 (b) 优化人工智能模型在 ARM 后端上的性能的公司。

Read more
Jun 9 2025

用于多格式媒体处理的双向视频编码应用

家领先的电信运营商,提供高性能广播和流媒体基础设施解决方案,为企业和媒体客户提供通过传统网络和IP网络进行视频传输的先进功能。

Read more

GET IN TOUCH