DSL Auto-Scheduling for Tensor Pipeline Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manually creating high-performance libraries for tensor operations on different processing elements is complex and time-consuming, requiring hardware programming experience, and existing DSLs do not optimize between nodes of a pipeline graph.

Innovation Solution

Utilizing auto-schedulers for domain-specific languages (DSLs) to partition and generate optimized schedules for computer programs, incorporating DSL-compatible portions into an Intermediate Representation (IR) and applying schedules optimized for target hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If manual scheduling optimization is performed for tensor operations on different processing elements, then execution speed can be optimized, but the process becomes complex and time-consuming requiring hardware programming experience

Engineering Contradiction:
Improveexecution speedVSAvoidcomplexity of scheduling process
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system employs auto-schedulers that automatically generate and optimize schedules for tensor operations without requiring manual hardware programming expertise. The auto-schedulers self-adjust scheduling parameters and optimize execution schedules based on target platform characteristics, eliminating the need for manual intervention while achieving optimized execution speed.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes scheduling parameters automatically through auto-schedulers that adjust timing, resource allocation, and execution order parameters based on the target processing platform. This parameter optimization occurs without manual hardware programming, resolving the contradiction between achieving speed optimization and avoiding complexity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If existing DSLs are used for tensor operations, then domain-specific optimization is achieved, but optimization between nodes of a pipeline graph is not provided

Engineering Contradiction:
Improvedomain-specific optimizationVSAvoidoptimization between pipeline nodes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system integrates multiple DSL auto-schedulers into a unified framework that can handle different domain-specific languages while providing cross-node optimization capabilities. This multi-functional approach allows the system to maintain domain-specific optimization benefits while adding the versatility of pipeline-wide scheduling optimization that individual DSLs lack.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent combines multiple DSL auto-schedulers and their scheduling capabilities into a single integrated system. This merging allows the system to leverage the strengths of different DSLs while adding the capability to optimize across pipeline graph nodes, thereby achieving both domain-specific optimization and cross-node adaptability.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If automated code generation is implemented, then productivity is improved, but the extent of automation requires sophisticated systems

Engineering Contradiction:
Improvecode generation efficiencyVSAvoidlevel of automation sophistication
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The automated code generation system is segmented into distinct components: code generation module, schedule integration module, and performance evaluation module. This segmentation allows the system to achieve high productivity through automation while managing complexity by dividing the automated process into manageable, specialized subsystems that can be developed and maintained independently.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12474903B1Systems and methods for automatically generating computer programming code and schedules and comparing their performance
Publication Date: 2025.11.18 MATHWORKS INC
  • US12474903B1 patent drawing
  • US12474903B1 patent drawing
  • US12474903B1 patent drawing

AI summary

Systems and methods utilize an auto-scheduler of a Domain Specific Language (DSL) to schedule one or more portions of a computer program written in a programming language other than the DSL. Portions of the computer program compatible with the DSL may be identified. The portions may be translated to a form compatible with the DSL. The DSL may generate schedules for the portions. Code may be generated for the computer program and the code may be executed. The schedules generated by the DSL may be utilized during execution of the code generated for the computer program.