Codeplay are very pleased to announce our membership of the CARP European research project. CARP aims at improving the programmability of accelerated systems, particularly systems accelerated with GPUs, at all levels. This involves designing high-level programming formalisms geared towards accelerators, writing highly optimizing compilers to compile high-level code into efficient OpenCL, verifying correctness of accelerator kernels, and employing intensive symbolic testing techniques to find bugs.
Codeplay's contribution to CARP concerns the analysis and optimisation of mobile GPGPU applications. Efficient execution of applications on graphics hardware requires decisions to be made both at compile-time and run-time regarding data distribution and movement. These decisions affect execution time and energy efficiency, and are thus especially relevant when accelerating mobile applications. Recent innovations in industry-oriented GPGPU programming models targeting mobile platforms aim to ease the offloading of mobile applications. Attaining optimal performance on mobile GPUs requires an analysis of such a program's structure to mitigate the cost both of starting a kernel; and also of data transfers between kernels. In some cases, such analysis may determine that it is not worthwhile to offload some kernels to the GPU; depending on the size of the data, and the cost of accessing it. In other cases, the program will require to be transformed by the compiler to ensure a more optimial execution.
Within CARP, Codeplay will design and implement novel memory and code analyses, drawing on years of experience developing tools and applications for low-power heterogeneous platforms. This effort will facilitate the optimised acceleration of applications on mobile GPUs, and builds on top of technology developed during previous successful European projects such as PEPPHER. Subsequently, these innovations will become incorporated within products made available to our customers and associated developers.