Motivation
Standard NN operator-based IRs are insufficient for comprehensively representing and optimizing robotics applications. The robo dialect is intended to bridge these gaps by introducing a higher-level, robotics-aware abstraction.
The primary motivations are to:
- Represent Complex Control Flow: Robotics algorithms heavily rely on control flow (loops, branches) that is often poorly represented or abstracted away in purely data-flow graphs. The robo dialect must natively represent this, enabling "Memory and Op Optimization Through Control Flow" and covering ops not found in standard NN libraries.
- Exploit Workload Characteristics: Robotic computations have unique structural properties. The dialect must be designed to:
- Take advantage of sparsity in data
- Expose robot morphology to computation allowing the compiler to leverage the robot's physical structure for optimization.
- Serve as a Transpilation Target: The robo dialect will act as a unified high-level IR for Workload Transpilation. It must be capable of representing entire applications—spanning perception , trajectory planning , and control —from existing C++/Python libraries into a cohesive MLIR graph.
Design Goals
Based on this motivation, the initial design of the robo dialect must prioritize:
- High-Level Abstraction: Operations should represent "computation tasks" (e.g., planning, control solvers) rather than just low-level math.
- Control Flow Integration: The dialect must integrate seamlessly with scf and other control flow representations.
- Metadata Representation: The type system and attributes must be able to encode high-level information about sparsity and robot morphology.
Motivation
Standard NN operator-based IRs are insufficient for comprehensively representing and optimizing robotics applications. The robo dialect is intended to bridge these gaps by introducing a higher-level, robotics-aware abstraction.
The primary motivations are to:
Design Goals
Based on this motivation, the initial design of the robo dialect must prioritize: