LLM Code Translation for Heterogeneous Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in creating software that can run across diverse hardware architectures due to the use of different programming languages, tools, and libraries for CPUs, GPUs, FPGAs, and other accelerators, leading to separate code bases and vendor-specific 'walled gardens'.

Innovation Solution

Utilizing a large language model (LLM) AI to convert code from proprietary, vendor-specific programming languages to an open standard programming language like oneAPI, enabling code translation and validation for heterogeneous architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers use separate code bases for different hardware architectures, then each architecture can be optimized for its specific workload, but device complexity and development time increase due to maintaining multiple language-specific code bases

Engineering Contradiction:
Improvearchitectural optimizationVSAvoidcode base complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by creating a unified programming language that can target multiple hardware architectures (GPUs, FPGAs, CPUs) from a single code base. The translation system converts this universal code into architecture-specific implementations, eliminating the need for separate code bases while maintaining optimization for each architecture.

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

Solution Approach 2:

The patent introduces a translation system as an intermediary between the unified programming language and hardware-specific implementations. This intermediary component automatically converts high-level unified code into architecture-specific code, resolving the contradiction by enabling architectural optimization without requiring developers to maintain multiple separate code bases.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If developers write unified code for multiple architectures, then productivity increases and code reuse improves, but translation accuracy and reliability may deteriorate due to language differences

Engineering Contradiction:
Improvedevelopment productivityVSAvoidcode translation accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms in the translation system that validate translated code and provide corrections. This feedback loop ensures translation accuracy by continuously checking output against expected results and refining translations, thereby maintaining reliability while enabling unified code development across architectures.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary action through comprehensive training of the translation system on diverse code examples before actual translation occurs. This pre-training phase equips the system with the knowledge needed to accurately translate between the unified language and various hardware-specific languages, ensuring high translation accuracy from the outset.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If vendors create proprietary programming languages for their hardware, then performance optimization is improved, but adaptability deteriorates as developers are locked into vendor-specific ecosystems

Engineering Contradiction:
Improveperformance optimizationVSAvoidcross-platform adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent inverts the traditional approach by instead of having hardware vendors create proprietary languages, it creates a universal language that can be translated to vendor-specific languages. This inversion restores adaptability while preserving the performance optimization benefits of vendor-specific hardware by allowing code to be written once and translated to architecture-specific implementations when needed.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS20250123819A1Methods and apparatus to utilize large language artificial intelligence models to convert computer code
Publication Date: 2025.04.17 INTEL CORP
  • US20250123819A1 patent drawing
  • US20250123819A1 patent drawing
  • US20250123819A1 patent drawing

AI summary

Systems, apparatus, articles of manufacture, and methods are disclosed to utilize large language artificial intelligence models to convert computer code. An example apparatus includes instructions and processor circuitry to execute the instructions to at least: train a large language model based on a computer instructions repository that includes code of a first type; utilize the large language model to convert an input set of instructions of the first type into output code of a second type; cause execution of the output code; determine if the execution is successful; and when the execution is not successful, utilize the output code for fine-tuning training of the large language model with incorrect data.