Using GPUs to Accelerate CAD Algorithms
- Additional Document Info
- View All
A graphics processing unit, or GPU, is a coprocessor used by a CPU to offload compute-intensive operations required to render the display on a monitor. For high-performance General-purpose computation on graphics processing units (GPGPU) discrete GPUs have been overwhelmingly favored due to their significantly more powerful hardware in comparison to integrated GPUs. When programmed through Compute Unified Device Architecture (CUDA), the GPU is viewed as a compute device capable of executing a large number of threads in parallel. A problem can be accelerated on the GPU using one of two broad approaches: porting and rearchitecting. For GPU acceleration of problems that are inherently serial, a bottom-up rearchitecting of the code is required. The extent to which a GPU can speed up a program is dependent upon the amount of code that can be executed on the GPU relative to the CPU. Data transfer time must also be added as non-parallel overhead to the program's runtime, if it cannot be overlapped with computation.
author list (cited authors)
Croix, J. F., Gulati, K., & Khatri, S. P.