Modern processors are, in addition to general purpose cores, equipped with specialized hardware units, such as processor integrated GPUs (iGPUs), which are used in the investigations of this article. An iGPU is directly connected to the cores and provides several benefits, including low cost and energy efficiency. For the execution of scientific applications on iGPUs, the OpenCL framework is a suitable choice. In this article, we consider the modified Gram–Schmidt process for vector orthogonalization, which computes a QR decomposition, and develop several OpenCL program variants to be executed on an iGPU. The performance and energy consumption of the Gram–Schmidt OpenCL program variants are investigated on two different processor architectures with a Gen 7.5 and a Gen9 iGPU architecture. The program variants result from various modifications, such as the use of local memory, SIMD data types and the avoidance of copy operations. Additionally, we show, how the use of OpenCL SIMD data types and the avoidance of copy operations influences the energy consumption of the cores and the iGPU.
Read full abstract