ABSTRACT

Several years ago, when multicore multi-CPU machines became mainstream, parallel processing was recognized as an indispensable tool for solving many scientific and engineering problems.875 Furthermore, modern graphics processing units (GPUs) have gained popularity for high-performance computing (HPC) since, with the release of the CUDA (Nvidia’s parallel computing architecture)876 and OpenCL877 frameworks, it is no longer necessary to program the GPUs through a graphics API. The ability to take advantage of multiple CPUs, cores and GPUs is called parallel processing, or parallelization.878