SPE are cores, u only have to go to IBM site and in there description of Cell they state both PPE & SPE are cores.
SPE can run along side PPE or SPE's can work on ther own. As they have ther own Kernel, memory, and memory controller.
Core partners, Part 1: Build high-performance apps for multicore processors
See how RapidMind delivers a single-source development platform for Cell/B.E. applications
Michael McCool (mmccool
mind.net), Founder and Chief Scientist, RapidMind
Summary: The RapidMind Development Platform provides a simple single-source mechanism to develop portable high-performance applications for multicore processors. In particular, you can use it to develop applications that fully exploit the power of the Cell Broadband Engine™ (Cell/B.E.) processor's unique architecture by writing only one, single-threaded C++ program using an existing C++ compiler. In this article, author Michael McCool takes you on a guided tour of the RapidMind Development Platform.
View more content in this series
Update My dW interests (Log in | What's this?) Skip to help for Update My dW interests
Date: 01 May 2007
Also available in: Russian
Activity: 8926 views
Comments: 0 (View | Add comment - Sign in)
Average rating 4 stars based on 10 votes Average rating (10 votes)
Rate this article
Before discussing the RapidMind Development Platform -- which can be used to develop applications for the Cell/B.E. processor that are able to effectively exploit the architecture by letting you write a single, single-threaded C++ program using an existing C++ compiler -- let me explain why Cell/B.E. processors and the RapidMind platform combine to make a good application development environment.
Introducing RapidMind and Cell/B.E.
The nine cores in the Cell/B.E. processor include:
One standard "host" core, the PPU, which uses the PowerPC® architecture.
Eight Synergistic Processing Elements (SPEs) which are vector co-processors highly tuned for numerical computation.
The PPU is a general-purpose processor and is capable of running traditional operating system and application code. However, most of the computational performance of the Cell/B.E. processor resides in the more specialized SPEs. Each SPE core has a number of unique features, including a large vector register file, a vector ALU, and an explicitly managed high-speed local memory. The Cell/B.E. processor also includes a number of features that allow the PPU and the SPEs to communicate and synchronize with each other.
Why RapidMind on the Cell/B.E. processor?
To use the RapidMind platform on the Cell/B.E. processor, it is not necessary to understand the details of the SPE cores or perform any SPE-specific programming. It is only necessary to write a single-source, single-threaded program using an existing C++ compiler (such as g++) and run it on the PPU. This program only needs to include a single header file and link to the RapidMind platform library.
To execute a computation on the SPEs, it should be expressed as a data-parallel computation and executed using the RapidMind platform. The interface to the RapidMind platform is implemented as a library that integrates cleanly with existing IDEs and build environments. Although it is used as a library, the RapidMind platform can also be thought of as a high-performance, embedded parallel programming language with its own code management and parallel runtime. It is possible to express arbitrary computations with the RapidMind interface and have these execute at performance levels rivaling that of native hardware-dependent tools, but with a simple, maintainable, and portable programming model.
The RapidMind interface is based on a small set of types. These types mimic standard C++ types -- floating point numbers, arrays, and functions -- making it straightforward to port existing code. However, computations expressed using RapidMind types can be collected into computationally intense kernels, dynamically compiled directly to optimized SPE machine language, and run in parallel under the management of a sophisticated runtime system that includes automatic load balancing and synchronization with the host. The RapidMind platform automates most of the low-level tasks involved in using the additional high-performance SPE cores, making it easier to take advantage of the extreme computational performance provided by the Cell/B.E. processor for a range of applications.