Linux-based tool simplifies Cell processor programming
Codeplay’s Offload programming tool suite is available for the development of software for Cell Broadband Engine powered devices running under Linux.
The Offload tool suite provides a Windows-based GCC SDK so that code can be offloaded to the SPUs on the Cell Broadband Engine.
It uses the Eclipse CDT and the Offload Player Debugger for executing and debugging code on the target Cell Broadband Engine hardware.
Addressing the parallel processing requirements of the Cell, according to the company, parallelism can be expressed using standard parallel programming techniques such as C++ parallel template libraries.
“Heterogeneous multi-core overcomes the problem of memory bandwidth saturation (that occurs with Symmetric Multi-Threading multi-core processors) by requiring software developers to handle memory accesses themselves, by using separate local and shared memories, or streaming DMA,” said Codeplay.
The tool suite is designed to allow programmers to take advantage of the memory-bandwidth features of heterogeneous multi-core, but only requiring minimal and incremental changes to source code.
Codeplay are also using this version of Offload as a technology demonstrator for the Offload programming model for heterogeneous multi-core processors.
“Codeplay’s efforts with Offload on PlayStation3 have proven that Offload provides an easy multi-core programming solution that actually works with real-world software,” said Codeplay founder and CEO Andrew Richards.
“The Cell Broadband Engine version will allow everyone to see the benefits of the Offload model,” said Richards.
According to Codeplay, Offload is already being used as part of the European FP7 research project PEPPHER (for “Performance Portability and Programmability of Heterogeneous many-core aRchitectures”).
The research is being undertaken by a consortium of European research groups, including both academic and commercial partners.
Codeplay is a research partner along with the University of Vienna, Chalmers Tekniska Högskola, Institut National de Recherche en Informatique et en Automatique, Intel, Linköping University, Movidius, and Karlsruhe Institute of Technology.