Unified ML Acceleration Framework for Heterogeneous AI Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current machine learning (ML) and artificial intelligence (AI) frameworks, such as TensorFlow and PyTorch, primarily support graphics processing units (GPUs) and lack optimized performance for various AI hardware accelerators, making it difficult for users to utilize diverse AI hardware offerings due to private application programming interfaces and lack of transparent support for accelerators other than GPUs.

Innovation Solution

A unified ML acceleration framework is developed, combining an end-to-end machine learning compiler framework with an interposer block and a resolver block to modify and recompile ML models for specific hardware accelerators, allowing transparent deployment on low-level runtimes and returning results as if generated by the upstream framework, thereby supporting a wide range of accelerators including CPUs and specialized hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a common ML framework is used for all hardware accelerators, then framework simplicity is maintained, but performance optimization for specific accelerators is lost

Engineering Contradiction:
Improveframework simplicityVSAvoidperformance optimization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system segments the ML execution pipeline into three distinct parts: high-level framework (user code), translation layer (compiler), and low-level runtime (hardware-specific). This segmentation allows the high-level framework to remain simple and hardware-agnostic while the translation layer handles hardware-specific optimizations during the compilation phase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The translation layer acts as an intermediary between the high-level framework and low-level runtime. It translates hardware-agnostic operations into hardware-specific instructions, enabling optimized execution on target accelerators without requiring users to modify their high-level code for different hardware platforms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If users create models for specific accelerators with private APIs, then hardware-specific performance is optimized, but user ease of operation is reduced

Engineering Contradiction:
Improvehardware-specific performanceVSAvoiduser accessibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The high-level framework provides universal support for multiple hardware accelerators through a single unified interface. Users can write and train models once using the high-level framework, and the system automatically translates them to execute on different accelerators (GPUs, FPGAs, CPUs) without requiring users to learn multiple private APIs.

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

Solution Approach 2:

The translation layer serves as an intermediary that hides hardware-specific complexity from users. It automatically handles the translation from high-level framework calls to hardware-specific operations, eliminating the need for users to directly interact with private APIs of different accelerators.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If upstream frameworks support only GPUs and FPGAs, then framework simplicity is maintained, but adaptability to diverse hardware accelerators is reduced

Engineering Contradiction:
Improveframework support scopeVSAvoidhardware accelerator compatibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system achieves universality by implementing a hardware-agnostic high-level framework that can target multiple accelerator types (GPUs, FPGAs, CPUs) through a single unified interface. The translation layer enables this framework to adapt to diverse hardware architectures without requiring separate framework implementations for each device type.

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

Solution Approach 2:

The system changes the abstraction parameters of the framework by introducing a translation layer that maps high-level framework operations to hardware-specific implementations. This parameter transformation allows the same framework code to operate on different hardware accelerators by changing the translation rules rather than modifying the framework itself.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12175223B2Building a unified machine learning (ML)/ artificial intelligence (AI) acceleration framework across heterogeneous AI accelerators
Publication Date: 2024.12.24 VMWARE INC
  • US12175223B2 patent drawing
  • US12175223B2 patent drawing
  • US12175223B2 patent drawing

AI summary

Disclosed is a system for converting a high-level runtime model to a low-level runtime model where the high-level runtime model runs on a client computer system, and the low-level runtime model runs on a server computer system. The server system has installed thereon a pool of hardware accelerators, and the low-level runtime model is targeted to the pool of accelerators. Outputs of the low-level runtime model are returned to the high-level runtime model as if the high-level runtime model computed the outputs.