Intel's Ct to appear in programmer tools by end of the year

At IDF in Beijing Intel’s Pat Geslinger announced today that Ct will show up in a new parallel programming product scheduled to be in beta later this year

Intel developed Ct with a singular vision: to provide programmers with tools that would abstract data-parallel programming away from the hardware, as all popular programming languages have done for single core processors, will 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.

You can find out more at Intel’s Ct technology page. Michael Feldman also wrote an article on Ct’s move at HPCwire yesterday. From that article

Ct (C/C++ for throughput computing) is a high-level software environment that supports data parallelism in current multicore and future manycore architectures. According to James Reinders, whom I spoke with prior to Gelsinger’s announcement, Ct allows scientists and mathematicians to construct algorithms in familiar-looking algebraic notation. Best of all, the programmer does not need to be concerned with mapping data structures and operations onto cores or vector units; Ct’s high level of abstraction performs the mappings transparently. The technology also provides determinism so as to avoid races and deadlocks.

…Unlike CUDA, Brook+, or OpenCL, Ct provides a more high-level approach to data parallel processing, where vectors may be represented as regular or irregular data collections. This enables the programmer to define sparse matrices, trees, graphs, or sets of value-key associations, as well as the more typical dense matrices. The language is implemented as an extension to C++ using the standard template facility, so legacy code can be expanded to include data parallelism by using new Ct data types and operators.

Much more in Michael’s article, which I commend to your reading list.

Resource Links: