GPU Model Evaluation for Integrated Circuit Simulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional systems relying on central processing units (CPUs) for circuit/logic design automation are hindered by lengthy model evaluation times, which dominate the total simulation time for integrated circuit designs, necessitating more efficient computational methods.
Innovation Solution
Implementing model evaluation in a graphical processing unit (GPU) by storing and processing texture data, assigning threads to links, and performing computations to achieve double precision floating point accuracy, while dividing model evaluation into parts to avoid shader length limits and switching operations between GPU and CPU for enhanced performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If model evaluation is performed on CPU, then computation accuracy is maintained, but model evaluation time becomes excessively long
Solution Approach 1:
The patent replaces the CPU-based sequential computation system with a GPU-based parallel computation system. The GPU's architecture with thousands of cores enables simultaneous evaluation of multiple device instances, dramatically reducing model evaluation time while maintaining computational accuracy through double precision floating point operations.
Solution Approach 2:
The patent segments the model evaluation process into multiple independent threads, each handling a specific device instance or circuit element. These segmented tasks are then distributed across GPU threads for parallel execution, transforming a sequential bottleneck into a parallelized workflow that scales with hardware capabilities.
2Productivity
If GPU is used for model evaluation, then computation speed increases, but device complexity increases due to data transfer and precision emulation
Solution Approach 1:
The patent introduces a hybrid CPU-GPU system where the CPU acts as an intermediary managing data preparation, transfer, and post-processing, while the GPU handles intensive parallel computations. This mediation layer simplifies the complexity by providing a clear division of labor and standardized interfaces between the two processing units.
Solution Approach 2:
The patent changes the precision parameter from single precision (default GPU) to double precision floating point operations through emulation techniques. This parameter change enables the GPU to maintain scientific-grade computational accuracy while retaining its parallel processing speed advantages, effectively bridging the gap between speed and precision requirements.
3Measurement precision
If double precision floating point accuracy is achieved, then computation accuracy improves, but computation overhead increases
Solution Approach 1:
The patent implements self-service double precision emulation within the GPU, where the GPU uses its existing single precision hardware to simulate double precision operations through software algorithms. This self-service approach eliminates the need for external precision correction and reduces overall computation overhead by handling precision internally.
Solution Approach 2:
The patent makes the GPU universally capable of both single and double precision operations. By implementing double precision emulation on the GPU, the system gains multi-functionality where a single hardware platform can handle both speed-critical single precision tasks and accuracy-critical double precision tasks without requiring separate specialized hardware.
Data Source
AI summary
Model evaluation and circuit simulation/verification is performed in a graphical processing unit (GPU). A multitude of first texture data corresponding to size parameters of devices are stored. A multitude of second texture data corresponding to instance parameters of the devices are stored. A multitude of third texture data corresponding to models of the devices are stored. A multitude of fourth texture data corresponding to terminal voltages received by the device are stored. A multitude of links linking each device instance to an associated device model, size parameters and instance parameters are stored. A quad having a size defined by the multitude of links is drawn by the quad in the GPU. Each thread in the quad is assigned to a different one of the multitude of links. The computations are carried out in each thread using the linked data to perform the model evaluation.


