Codeplay's Sieve⢠technology is a system for taking existing C++ software and transforming it so that it can be compiled with multiple different C compilers and distributed across multiple processor cores.
Key benefits of Sieve technology:
The core principal behind the Sieve technology is that to distribute software across multiple cores in a system, there needs to be shared access to shared data structures, and fast access to local data. The system therefore separates existing variables and objects between local and shared memory and ensures that shared data structures are binary compatible between different cores in the system.
Sieve works by having a compiler tool that takes in existing C++ source code and outputs C source files. The C source files can be passed through different processor cores in the system, and contain macros to access shared data. The macros can be defined to use whatever shared data access the programmer wants to use, but for the Codeplay Offload system, a software cache is used for shared data structures.
The Sieve tool has calculated the data structure layout for each C++ class, in a way that is compatible with existing C++ compilers (e.g. GCC 4.x.) The C source files can then be compiled with other C compilers that do not have to have the ability to match C++ class layouts, because the Sieve tool has already calculated this.
The Sieve system consists of: