[Paper Review] Phism: Polyhedral High-Level Synthesis in MLIR
This paper introduces $φ_{sm}$, a polyhedral high-level synthesis framework built on MLIR that enables progressive lowering from polyhedral representations to hardware designs through multi-level intermediate representations (IRs). By leveraging MLIR's dialect system—especially the Affine dialect—it supports platform-specific optimizations, software/hardware co-design, and composable transformations, enabling efficient, extensible HLS with full polyhedral optimization at appropriate abstraction levels.
Polyhedral optimisation, a methodology that views nested loops as polyhedra and searches for their optimal transformation regarding specific objectives (parallelism, locality, etc.), sounds promising for mitigating difficulties in automatically optimising hardware designs described by high-level synthesis (HLS), which are typically software programs with nested loops. Nevertheless, existing polyhedral tools cannot meet the requirements from HLS developers for platform-specific customisation and software/hardware co-optimisation. This paper proposes $ϕ_{sm}$ (phism), a polyhedral HLS framework built on MLIR, to address these challenges through progressive lowering multi-level intermediate representations (IRs) from polyhedra to HLS designs.
Motivation & Objective
- Address the lack of extensibility and platform-specific customization in existing polyhedral tools for high-level synthesis (HLS).
- Bridge the semantic gap between abstract polyhedral representations and concrete HLS designs, which require loop-level and scheduling-level details.
- Enable software/hardware co-optimization and design space exploration by exposing intermediate IRs at appropriate abstraction levels.
- Provide a modular, composable, and extensible framework that supports evolving HLS targets like Vitis and CIRCT.
- Overcome limitations of existing tools (e.g., Pluto, CLooG) that operate only on polyhedra or C-like ASTs, missing opportunities for mid-level optimization.
Proposed method
- Use MLIR’s dialect abstraction to define multi-level IRs, starting from the Affine dialect for polyhedral representations.
- Perform polyhedral optimization on the Affine IR, which retains loop structures, bounds, and schedules in affine form.
- Apply progressive lowering: transform from Affine IR to Standard IR (near LLVM IR), then to hardware-specific dialects in CIRCT.
- Integrate with Polygeist to convert C code into Affine IR, enabling end-to-end compilation from C to hardware.
- Implement platform-specific optimizations (e.g., pipelining, unrolling, tiling) as composable MLIR transformations at the right abstraction level.
- Leverage affine maps and bounded loops in Affine IR to express complex transformations like sub-bounding-box tiling directly, avoiding code regeneration.
Experimental results
Research questions
- RQ1How can polyhedral optimization be effectively integrated into modern HLS pipelines that require platform-specific customization?
- RQ2What intermediate representation levels are necessary to support both high-level polyhedral transformations and low-level HLS optimizations?
- RQ3Can progressive lowering in MLIR enable composable, reusable transformations across the HLS pipeline?
- RQ4How does using the Affine dialect in MLIR improve the expressiveness and correctness of polyhedral code generation compared to traditional AST-based approaches?
- RQ5To what extent can MLIR’s dialect system support end-to-end co-design of software and hardware in HLS?
Key findings
- $φ_{sm}$ enables polyhedral optimization at the Affine IR level, preserving loop structure and schedule information for subsequent HLS transformations.
- The use of Affine IR allows direct manipulation of tiling and parallelization transformations—such as sub-bounding-box tiling—without requiring code regeneration from polyhedral output.
- Progressive lowering from Affine to Standard and CIRCT dialects supports seamless integration with existing HLS tools like Vitis and hardware description generators.
- By operating at intermediate abstraction levels, $φ_{sm}$ avoids the loss of optimization opportunities present in C-like ASTs, where polyhedral information is no longer available.
- The framework supports composable and reusable transformations, enabling extensibility for new HLS targets and optimization techniques.
- The approach demonstrates feasibility and efficiency in co-designing software and hardware, particularly in handling complex data layout and scheduling decisions through structured IRs.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.