ABSTRACT

Early Graphics Processing Units (GPUs) in the late 1990s strictly focused on delivering as high of a floating point performance as possible. This freed the CPU resources and allowed a PC to perform 5× or 20× better in games. Apple computers used a different strategy to build a GPU-like processing power into their computers, but sooner or later the personal computer (PC) and Mac lines have converged and they started using GPUs from the same manufacturers. Nvidia introduced their language Computer-Unified Device Architecture (CUDA) in 2007, which was — and is — designed strictly for Nvidia platforms. The initial CUDA language developers had the following dilemma: CUDA had to be a programming language that allowed the programmers to write code for both the CPU and the GPU. CUDA had to be based on the C programming language to provide high performance.