Intel Ct: C for Throughput Computing

Intel is working on a C++ extension called Ct to simplify multicore programming and data parallelism more properly than they did with previous library efforts like TBB.

One of the main challenges in scaling multi-core for the future is that of migrating programming tools, build environments, and millions of lines of existing code to new parallel programming models or compilers. To help this transition, Intel researchers are developing “Ct,” or C/C++ for Throughput Computing.

Ct is not intended to be a C++ dialect or replacement but rather a tricky integration of a runtime engine with existing C++ compiler environments.

In principal, Ct works with any standard C++ compiler because it is a standards-compliant C++ library (with a lot of runtime behind the scenes). When one initializes the Ct library, one loads a runtime that includes the compiler, threading runtime, memory manager — essentially all the components one needs for threaded and/or vectorized code generation.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Stop Extending C++!

It's a hairy enough language already. Hasn't the time come to stop bolting new features onto an old language and move to something that elegantly expresses the modern capabilities we need without the backwards-compatible hacks?

We saw how well that worked...

... for C :-).

From a market share viewpoint, it's a lot better to build on what you have then to try to convince an existing user base to switch to something new. Besides, it's not like the C++ user community isn't used to language complexity. What's one more layer of features (and corner cases) among friends?

network effects

For a really huge mass market effect we would be better off sticking to C, generalizing setjmp/longjmp just a little bit, and most importantly replacing CPP with a better form of syntactic abstraction.

Were we there then "C++" would be a C header file, not a language, and it would have a lot of healthy competition.


Re: network effects

Read APPLES. C++ may work with some duct tape and string, but if we want a network effect than the best idea now is to go back to basic, standardized old C and add truly modern (read: functional, concurrent, generic) features to *that*.

C was small and elegant. C++ has horrifying second-system syndrome. Conclusion: go back to C and work from there.

nice... but is it vaporware?

I'd like to play with Ct, but as far as I can tell it isn't available, and there are no apparent signs that it will ever be available.

Intel has been demoing Ct for over a year (see this blog posting), so it probably does exist; but I've been watching the page you pointed to for months hoping for a release announcement. According to the Wayback machine the page seems not to have changed since (at least) January 7.

They are actively developing

They are actively developing it, and based on my interactions, seem eager for collaborators. Try sending them an email!

Intel Ct moving forward

There was a presentation involving's Intel's Ct at this Spring's Intel Development Forum. Check out James Reinder's interview in HPC Wire
Also check out and sign up for the newsletter there if you'd like to learn more about Ct soon.