A European group of high technology companies and research groups, in an ACOTES Project collaboration, will research and implement the advantages of massive parallel processing for consumer devices. The project will use efficient compilation techniques to boost productivity for application programmers by leveraging the benefits of parallel computing. The goal is for consumers to be able to run applications that demand high compute power, and enjoy increased battery life, on their mobile devices.
The ACOTES (Advanced Compiler Technologies for Embedded Streaming) Project will run for three years, until mid-2009. Project members include IBM Haifa Research Lab, INRIA, NOKIA, NXP Semiconductors, STMicroelectronics, and the Universitat Politècnica de Catalunya, Spain. It's partly funded under the European Union's Sixth Framework IST Program and partly by the project members.
Findings made from the ACOTES Project will be used to program streaming data applications on modern parallel architectures, such as the NXP Ne-XVP, STMicroelectronics' streaming processor, and Sony/Toshiba/IBM Cell Architecture processors, enabling the implementation of previously unachievable multimedia and video features.
The ACOTES Project identified a significant increase in parallelism as the answer to the growing demand for compute power for consumer applications, in addition to longer battery life on mobile devices.
Massive parallel processing, however, introduces significantly greater complexity for application programmers because they have to express the parallelism, and prioritise tasks and resources that should be allocated for parallel computing. They must also consider any real-time processing constraints of the application. The project team aims to address this added complexity.
Building on the existing GNU Compiler Collection (GCC)—a set of programming language compilers that convert high-level application programs into machine code for a wide range of target processors—the ACOTES Project will develop compiler extensions that help programmers express and exploit parallelism in their programs.