The three-year CARP project – for Correct and Efficient Accelerator Programming – aims to introduce innovations in programming language design and implementation and use of formal verification techniques. The project started on Dec. 1, 2011 and will receive funding support to the value of 2.8 million euro (about $3.5 million).
ARM is joined in the project by Monoidics Ltd., (London, England), Realeyes Data Services Ltd., (London, England) and Rightware Oy (Espoo, Finland) as well as researchers from universities and institutes in England, France, Germany and the Netherlands.
The researchers aim to provide: a performance increase of at least 4x when comparing optimized code with non-optimized code, on multiple platforms; a reduction in energy consumption of at least 20 percent; automatic detection of at least 70 percent of known functional errors; and a reduction of several orders of magnitude in time taken to design an application to run efficiently across multiple accelerator platforms.
The CARP will focus on the development of a novel programming language called PIL (Portable Intermediate Language). PIL will be able to receive compiled inputs from domain-specific languages and will target its output to the widely adopted industry-standard OpenCL. Compiler optimizations will be geared towards reducing execution time and increasing energy efficiency, according to the project's website.
An overview of the CARP approach.
The results will be applied through collaboration with Monoidics, Realeyes and Rightware. Monoidics' Infer product is a static code analyser that focuses on memory safety and security. Realeyes is a developer of eye-tracking software and emotion measurement software. Rightware is developer of graphical user interface software and mobile and embedded software benchmarks.
"Effective programming tools are essential to help broaden the adoption of heterogeneous systems, such as systems-on-chip accelerated by ARM Mali graphics processing units. We aim to provide software developers with a variety of programming technologies that range from industry standards, such as OpenCL, to domain-specific frameworks. The emphasis is on efficiency,