archives

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.

Best way to interface with C/C++?

Hi, I am looking at manners to interface with C. At the moment I am using a simple label = function-name scheme, but I would like to automatically generate simple bindings.

I have looked at gccxml and swig, both seem to involve a lot of hacking. Is there anyone with any experience in this field who would like to share his/her experience?

Oh yeah, the language I am building is a simple statically typed ML variant with type constructor classes.

Thanks.