Runtime GPU Binary Cross-Compiler for ISA Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Different graphics processing unit (GPU) architectures have distinct instruction set architectures (ISAs) and application binary interfaces (ABIs), leading to binary incompatibility issues where programs compiled for one GPU cannot be executed on another without modification.
Innovation Solution
A computing device with a second GPU having a different ISA and a processor that executes a run-time executable cross-compiler to translate compiled binaries from the first ISA to the second ISA, allowing GPU-executed programs to run on the second GPU by analyzing and translating sequences of GPU-executed programs in O(N) complexity, where N is the number of instructions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If programs are compiled for a specific GPU instruction set architecture, then execution efficiency on that GPU is improved, but compatibility with other GPU architectures deteriorates
Solution Approach 1:
The patent introduces a binary translation layer that acts as an intermediary between the compiled binary and the target GPU. The translator converts instructions from a source ISA to a target ISA at runtime, enabling programs compiled for one GPU architecture to execute on another architecture without modifying the original compiled binary, thus maintaining both execution efficiency and compatibility
2Manufacturing precision
If static discovery and intermediate representations are used for cross-compilation, then translation accuracy is improved, but compilation time and system complexity deteriorate
Solution Approach 1:
The patent performs preliminary analysis of the binary code to identify translation patterns and instruction mappings before actual translation. By pre-processing the binary to understand its structure and instruction sequences, the system achieves accurate translation without requiring complex intermediate representations or lengthy compilation processes
Solution Approach 2:
The patent extracts only the essential translation information needed for binary translation, such as instruction opcodes and operand patterns, without converting the entire program into complex intermediate representations. This selective extraction maintains translation accuracy while significantly reducing processing overhead and system complexity
Data Source
AI summary
A computing device for just-in-time cross-compiling compiled binaries of application programs that utilize graphics processing unit (GPU) executed programs configured to be executed on a first GPU having a first instruction set architecture (ISA), the computing device including a second GPU having a second ISA different from the first ISA of the first GPU, and a processor configured to execute an application program that utilizes a plurality of GPU-executed programs configured to be executed for the first ISA of the first GPU, execute a run-time executable cross-compiler configured to, while the application program is being executed, translate compiled binary of the plurality of GPU-executed programs from the first ISA to the second ISA, and execute the translated plurality of GPU-executed programs on the second GPU.


