CT Intel's new language
Nick Sabalausky
a at a.a
Sat Jun 14 12:24:03 PDT 2008
"Nick Sabalausky" <a at a.a> wrote in message
news:g314r3$m01$1 at digitalmars.com...
> "janderson" <askme at me.com> wrote in message
> news:g311fe$fbl$1 at digitalmars.com...
>>
>> The main enhancement seems to be a vector class that can perform in
>> Parallel. That was on Walters to-do list for a long time, although it
>> was taken out at some point.
>>
>
> Hmm, yea, sounds like something D2 could already implement just by using
> some inline assembly (with proper use of "version()", of course) inside of
> the map/reduce/etc functions that already exist in a couple libraries.
>
Of course, couldn't the same thing be done in C++0x? (I dunno, it's been
awhile since I've been up-to-date on the world of C++) So why make a new
language out of it?
I just looked it up some more info. Looks like Ct is some sort of
dynamically-compiled language/VM (hmm, maybe/maybe not a VM) that's
callable/launchable through C++. The automatic adjustment of granularity
sounds interesting. Although still don't think it's anything that couldn't
be done in D (even if it meant writing a non-trivial new library).
From: http://techresearch.intel.com/articles/Tera-Scale/1514.htm
"How does it work?
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. Ct code is
dynamically compiled, so the runtime tries to aggregate as many smaller
tasks or data parallel work quanta so that it can minimize threading
overhead and control the granularity according to run-time conditions. With
the Ct dynamic engine, one gets precise inter-procedural traces to compile,
which is extremely useful in the highly modularized and indirect world of
object-oriented programming."
More information about the Digitalmars-d
mailing list