Technical Computing Environment Installation on Heterogeneous Hardware
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing environments require users to develop code in conventional programming languages like C++, C, or Fortran, which is inefficient for tasks in mathematics, science, engineering, and medicine, and do not effectively utilize heterogeneous hardware platforms.
Innovation Solution
A technical computing environment (TCE) is implemented with precompiled binary files that support multiple architectures, using a graphical model and code generator to optimize code for heterogeneous hardware platforms, allowing dynamic typing and array-based programming, and enabling automatic reconfiguration based on user usage patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional programming languages (C++, C, Fortran) are used for computing tasks, then users can perform basic programming operations, but computational efficiency for mathematics, science, engineering, and medicine tasks is poor and heterogeneous hardware platforms are not effectively utilized
Solution Approach 1:
The patent replaces conventional programming language mechanisms with a mathematical notation-based system. Instead of using traditional programming constructs (loops, conditionals, functions), the system uses mathematical notations that are natively supported by the heterogeneous hardware platform, enabling direct translation of mathematical algorithms into optimized machine code without manual coding overhead
Solution Approach 2:
The patent introduces a code generator as an intermediary component that automatically translates mathematical notations into optimized code for specific hardware platforms. This intermediary handles the complexity of platform-specific optimizations, allowing users to work with high-level mathematical notations while the system manages the low-level hardware-specific code generation
2Adaptability or versatility
If precompiled binary files supporting multiple architectures are used, then compatibility across different hardware platforms is improved, but the ability to optimize for specific heterogeneous platforms is reduced
Solution Approach 1:
The patent implements a dynamic code generation system that adapts to the specific hardware platform at runtime. The code generator detects the target platform's characteristics (CPU, GPU, FPGA, ASIC) and dynamically generates optimized code accordingly, rather than relying on static precompiled binaries. This allows the system to maintain compatibility across platforms while achieving optimal performance for each specific platform
Solution Approach 2:
The patent changes the approach from fixed binary files to parameter-driven code generation. The system accepts platform-specific parameters (hardware architecture, available resources, performance constraints) and uses these parameters to generate optimized code. This allows the same mathematical notation to be efficiently executed on different hardware platforms by adjusting generation parameters rather than maintaining separate binary versions
3Ease of manufacture
If code is manually developed in conventional programming languages, then flexibility in programming is maintained, but time consumption for development increases and performance optimization decreases
Solution Approach 1:
The patent implements an automatic code generation system that serves itself by translating mathematical notations directly into platform-optimized code without requiring manual programming. The system automatically handles code synthesis, optimization, and platform-specific adaptations, eliminating the need for users to manually write and optimize code in conventional programming languages
Solution Approach 2:
The patent performs preliminary code generation and optimization before execution. The code generator pre-compiles mathematical notations into optimized machine code specific to the target hardware platform, eliminating the need for runtime interpretation or manual optimization. This preliminary action ensures both ease of use (users write mathematical notations, not code) and performance optimization (code is pre-optimized for the specific platform)
Data Source
AI summary
A device may receive installation software for installing a technical computing environment to be executed by a hardware platform, and may receive platform information associated with the hardware platform. The device may generate code for the technical computing environment based on the installation software and the platform information, and may generate, based on the code, one or more binary files or bitstream files for installing the technical computing environment on the hardware platform. The device may utilize the one or more binary files or bitstream files to install the technical computing environment on the hardware platform and for execution by the hardware platform. The technical computing environment may be customized for the hardware platform.


