MulticoreWare

Case Studies

Advancing Compiler Support for a Semiconductor Provider

November 15, 2024

Client

Customer is a semiconductor-based technology company.

Challenge

The semiconductor provider had planned to adopt LLVM-Flang as the front-end for their Fortran and OpenMP applications. LLVM-Flang, being a relatively new front-end for Fortran, is still under active development, and as such, lacks full support for certain critical Fortran and OpenMP features needed for their use cases. Upon realizing that some of these essential features were either incomplete or missing, the customer approached our team with a request to implement and extend the necessary functionality in both Fortran and OpenMP, ensuring compatibility with their applications.

Solution

LLVM-Flang, being a new front-end for Fortran, is built using MLIR technology. Fortran code is translated into FIR/HLFIR (Fortran Intermediate Representation), while OpenMP constructs are converted into the corresponding OpenMP MLIR dialects.

We provided comprehensive end-to-end testing and implemented the missing features in accordance with the Fortran 2018 and OpenMP 5.2 standards. We worked on all key phases of the LLVM-Flang compiler front-end including:

  • Parsing: Our team ensured that the Fortran and OpenMP syntax was correctly interpreted by the compiler
  • Semantic Analysis: Our team Implemented checks to validate that the code adhered to Fortran 2018 and OpenMP 5.2 standards
  • Lowering to MLIR Dialects: We translated Fortran code to FIR/HLFIR and OpenMP constructs into OpenMP MLIR dialects, ensuring compatibility with MLIR technology.
  • Lowering to LLVM IR: We also finalized the transformation of code to LLVM IR, preparing it for optimization and code generation.

We coordinated closely with the open-source community, collaborating to ensure our feature implementations and fixes were successfully merged into the official LLVM-Flang project.

Technology Overview

Solution Highlights

Extended Feature Support

Enabled compatibility with Fortran 2018 and OpenMP 5.2 standards.

Enhanced Compiler Functionality

Improved parsing, semantic analysis, and code transformation processes.

Community Contributions

Merged code changes into the LLVM-Flang project, benefiting the open-source community.

Seamless Customer Integration

Facilitated the customer’s adoption of LLVM-Flang, reducing development effort and improving performance.

Business Impact

The ongoing adoption of LLVM-Flang is poised to deliver significant benefits upon completion. By modernizing to an open-source compiler and adhering to current standards, it paves the way for long-term compatibility and advanced feature integration. These improvements will provide the customer with a competitive edge and more efficient development processes once the project concludes.

Conclusion

In conclusion, MulticoreWare demonstrated proficiency in LLVM Frameworks, LLVM-Flang, MLIR, Fortran, OpenMP and more. Discover how we can help you achieve innovative results. Contact our team at info@multicorewareinc.com.

Share Via

Explore More

Oct 3 2024

Enhancing AI Model Support for RISC-V

Client
The customer is a RISC-V based AI accelerator company.

Read more
Aug 8 2024

Enhancing AI Accelerator Capabilities

The customer is a RISC-V based AI accelerator company.

Read more
Jun 19 2024

Porting, Optimization and Development of customer’s Perception Stack on Nvidia Jetson AGX ORIN

The Client A leading smart camera technology company specializing in flash LiDAR needed additional expertise and support for a high-profile customer project.

Read more

GET IN TOUCH

    (Max 300 characters)