Intel developed Ct technology to provide programmers with tools that would abstract data-parallel programming away from the hardware, as well-known programming languages have done for single core processors, while also delivering forward-scaling performance across manycore and multicore processors. Ct technology assumes no specific processor architecture, but the underlying model requires a generalized parallel processing architecture as found in multicore and manycore processors.
Ct Technology provides several benefits for developers:
- Reduce Errors in Parallel Programming by supporting a programming style that tends to avoid the parallel programming pitfalls which can plague parallel program development. Specifically, Ct technology provides determinism, which helps provide certain guarantees about safety. Safety helps avoid data races and deadlocks, the two most often encountered parallel programming bugs.
- Parallel Programming that is readable with an expressive syntax that stays close the domain expert's mode of expression. Ct technology excels at providing a framework that allows programs to keep a programming notation close to the notation used by non-programmer experts.
- Scaling across Multicore and Manycore Processors.
- Fits into Existing Programs: Ct technology allows for effective data-parallelism to be added into legacy programs using existing tools and programming languages. Ct extends C++ for data-parallelism allowing for compatible and incremental addition of parallel programming into existing programs without the need for completely new and incompatible programming languages.