archives

C++ AMP - Accelerated Massive Parallelism

Yesterday, Microsoft announced a new approach for GPGPU, APU, Multi/Many-core programming in modern C++. C++ AMP (Accelerated Massive Parallelism) consists of a few language extensions plus associated library. It builds on top of DirectX and PPL. C++ AMP is an open specification.

Details are here. As an aside, C++ AMP relies heavily on lambdas, which are part of C++11 (was C++0x). Lambda the ultimate...

Herb Sutter's Keynote on the subject at this week's AMD Fusion Developer Summit

Daniel Moth's deep(er) dive at the AMD Fusion event

What do you think about the approach taken here?

C

Yet another take on actors in Scala

Apparently, along the way of building AgileWiki, the main author decided to do some work on actors in Scala. [that page has a toc that goes to other pages, that isn't the whole document on one page.] I guess because there just aren't enough, what with the original Scala actors library, the Akka library. But in particular this vein is about figuring out how to blend shared state (actor mail boxes) when things are sufficiently ascynchronous vs. when to avoid shared state when things are synchronous. It feels in a distant hand-wavy way in my head like there's some E-lang vat-ness about offering a mix of async and blocking. If some day it was all automagically being configured properly for me dynamically at run-time, that might be cool.

Scala's new collections via higher types

As seen on the Scala list, this video talks about how concurrency is easier to get done right in Scala. But the end part (starting around 46:13) was more interesting to me since it is Martin O. explaining how fubar things were and how hard it was to get all the types worked out just right such that code duplication and boilerplate could really be avoided.

[edit: one thing that i find interesting about it is the quip that "if only we had prolog built into our type checker" given that i'm waiting with bated breath for Shen to be released.]