A GPU is a many-core device with a substantial parallel processing capability. The GPU consists of an array of multiprocessors enabling the device to execute lots of threads in parallel. The majority of the silicon area is dedicated to data processing units with only a small portion assigned to data caching and flow control circuitry. Its data processing units can be seen in Fig