Skip to main content

Automatic code generation for Graphics Processing Units

Article Category

Article available in the folowing languages:

Boosting computer technology

Advancing the technology of graphics processing units (GPUs) promises to support a paradigm shift in manufacturing computer processors. One enterprising EU-funded project has made significant headway in the field.

Digital Economy

Powering some of the most sophisticated computer games to date, GPUs are raising the eyebrows of computer scientists and researchers for use in high-performance numerical computation. Thanks to widespread demand for computer gaming, GPU technology has gone down in price to an extent where it is now being seen as a cost-effective avenue to advance high-speed computing. The EU-funded project 'Automatic code generation for graphics processing units' (AUTH-AUTOGPU) worked on extending the life cycle of optimised numerical codes on GPUs to make them more efficient for everyday computing. One area of focus was on developing a high-level explicit parallelism language for programming numerical algorithms used for signal and image processing applications. AUTH-AUTOGPU worked on automating code generation by using a special compiler, code templates and algorithm libraries. Using advanced optimisation and searching techniques, project members also targeted automating the tuning of performance-critical software components. To achieve its aims, the project team successfully developed a platform dubbed AUToGPU, facilitating the design and prototype of parallel algorithms for digital signal and image processing. This has helped accelerate the development cycle, particularly with respect to GPUs, automating performance optimisation, adapting to GPU hardware updates and rendering the software more agile. AUToGPU exploits special-purpose compiler techniques and novel mathematical abstractions to advance high-performance computation by manipulating domain-specific mathematical structures and matching them to a GPU architecture. It enables better processing of a unified abstraction of the algorithms in high-level mathematical expression. Rules are then used to transform the algorithm abstraction into equivalent variants using mathematical identities. Ongoing exploration of algorithmic variants helps further applications in Compute Unified Device Architecture, the parallel computing platform and programming model invented by graphics giant NVIDIA. Against this backdrop, the phenomenal success of NVIDIA and its GPU architecture in the high-performance market is opening new possibilities for big microprocessor provider companies. Both AMD and Intel have entered the GPU accelerator market as interest in this technology increases. In this light, AUToGPU can potentially serve a much larger domain of processors very soon, particularly since GPU architecture is set to become the norm in microprocessor design.

Keywords

Computer technology, graphics processing unit, computer processor, numerical computation, computer gaming, high-speed computing, code generation, programming, parallel algorithms, microprocessor

Discover other articles in the same domain of application