While GPUs won’t replace CPUs, they do shine for certain applications.
Graphical-processing unit (GPU)-accelerated computing has reached maturity for professional, scientific computing applications. One example of this is the recent GPU-accelerated thermal application for semiconductor photomask manufacturing, which is used in 24/7 manufacturing environments. GPU-accelerated computing won’t be a universal panacea for the semiconductor industry’s “need for speed.” Like all tools, it will be put to excellent use where it will have the most impact, so it’s important to understand where GPU-accelerated computing really shines.
Scientific computing applications, such as those used in semiconductor design and manufacturing, have an ever-increasing requirement for speed and reliability as the data sets upon which they must operate grow ever larger and more complex with each smaller process geometry. Several different types of massively parallel computing are available to address this issue, including Intel’s MIC Architecture, IBM’s Blue Gene, and other coprocessors, such as digital-signal processors (DSPs) and field-programmable gate arrays (FPGAs).
Emergence of GPUs and the fast growth of the computer gaming market gave the scientific research community access to a low-cost super-computing device. The question was, did GPUs have the reliability, longevity, and support to use them in commercial applications?
Born to Game, Now Tackling Scientific Computing
GPU-based computing began (and still thrives) as complex graphics processing for the very lucrative and highly competitive computer gaming market. The speed of these graphics processors first caught the interest of the scientific computing world in the 1990s, but the reliability required for production or manufacturing applications wasn’t there yet: if you drop a bit in a pixel in a game graphic, nothing too negative happens; if you drop a bit in a semiconductor mask data processing program, you could endanger a multi-million-dollar investment in a chip.
Still, some innovative and carefully engineered uses were emerging — even in semiconductor-manufacturing equipment — by the turn of the century. With the wave of innovations and evolution tracking along with Moore’s Law, general-purpose computing of GPUs (GP-GPUs) became popular.
With the large recognized market, GP-GPUs became a separate product line for the GPU manufacturers, specifically addressing the needs of commercial-production users. Proven, professional versions were available by the start of this decade; and robust, production-proven GPU-accelerated applications are now deployed in risk-intolerant semiconductor manufacturing lines.
GPU-Acceleration is NOT a CPU Swap-Out
GPU-acceleration is not a matter of replacing CPUs with GPUs. A simple port of an application written for CPU to a GPU-accelerated platform will only realize a 3 to 4X acceleration. To realize the >10X acceleration potential of GPU-accelerated computing, an application must be conceived and its algorithms designed for it.
It is dangerous to generalize too much, because adroit engineering can often morph a given problem into one that is more suitable for one platform or the other. However, in general, GPUs are great at deterministic calculations, particularly when the application involves lots of things (like pixels or entries of a matrix) that require the same calculations at the same time, or where latency is critical, such as real-time or interactive computing involving simulation. In general, CPUs are great at heuristics that have a lot of deductive branches (a series of if-then-else sequences that determine what to calculate depending on the situation). A robust GPU-acceleration approach enables a sophisticated software engineer to combine the strength of each to the benefit of the whole system.
So, instead of simply swapping out CPUs for GPUs, the task is to pair CPUs with GPUs (at some ratio). Clever engineering can optimize the combined resources for many computational problems, particularly scientific applications. The programming effort of a GPU-accelerated platform such as the D2S computational design platform (CDP) involves deciding what to put on CPUs, what to put on GPUs, and then scheduling and load-balancing the two to achieve optimal overall performance.
The biggest difference between CPUs and GPUs is the number of computing “threads” available. In the third generation of the D2S CDP, on each node, there are 12 running CPU threads and 6,000 running GPU threads. This factor of 500 makes a big difference for certain types of computational tasks. For any given computing sub-element, making it run well on GPUs is about finding an approach to the problem that fully utilizes the 500X difference in the number of threads available.
Often, a GPU expert will decide in favor of a “brute force” computing approach to take advantage of the 500X difference. A CPU-centric approach might require abbreviated computing based on many specialized situations or contexts, while with GPUs, a more fundamental physical phenomena can be mathematically computed brute-force. The results are more accurate because context-sensitive heuristic approaches are always prone to loss of accuracy in the boundary between different contexts. And uniquely with GPU-acceleration, brute-force computation can be done in the same elapsed time as CPU-only computing on a platform of similar cost.
This is why GPU-acceleration really shines in applications where accuracy cannot be compromised, while the speed of execution remains critical. NuFlare’s thermal effect correction (TEC) capability and Advantest’s wafer plane analysis (WPA) capability (another collaboration with D2S) are two examples where GPU-acceleration enables complex simulations that were not previously practical in production use. Mask data processing (MDP) for multi-beam eBeam writers is another place where GPU-acceleration will become critical as the industry adopts multi-beam technology for advanced process nodes.
The Future is Bright
GPU-acceleration isn’t appropriate for all scientific computing applications, and will never be a simple swap-out for CPU-based computing. But for certain problems, GPU-acceleration has a fundamental advantage. Graphics and physics simulation are what the heavy computing parts of gaming require, so GPUs are naturally built to be great at that. eBeam simulation and lithography simulation (optical or EUV) are two types of computations that are naturally suited to the GPU. The semiconductor industry — and particularly the mask-manufacturing sector — is one of the areas where GPU-acceleration will shine brightest.