客户
客户是一家半导体技术公司。
机会
这家半导体供应商计划采用 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